2013-07-12 2 views
0

У меня есть datetime2 (7) на моем asp.net mvc. Но в настоящее время дата сохраняется в базе данных, как: -Изменение формата datetme2 на уровне объекта модели

2013-07-12 14:27:47.7934737 

Хотя на взгляд бритвы будет отображаться с использованием @String.Format("{0:g}", item.DateTimeStart) в

7/12/2013 2:27 PM. 

Так что мой вопрос, есть ли способ изменить ток формат поля данных на уровне модели (не на каждый вид), так что оно отображается как: -

12 July 2013 02:27:47 PM. 
+1

Данные будут сохранены в базе данных как значение «DateTime2» - это не * есть * формат ... Аналогично, я ожидал бы, что значение в модели будет 'DateTime'. Строковое представление - это * вид * беспокойство, а не проблема * model *. –

ответ

4

Вы можете использовать data annotations установить глобальный формат отображения. Нечто подобное будет делать трюк

[DisplayFormat(ApplyFormatInEditMode = true, 
DataFormatString = "{0:dd MMMM yyyy hh:mm:ss tt}")] 
public DateTime DateTimeStart { get; set; } 

не тестировали формат, так что вы должны убедиться, что dd MMMM yyyy hh:mm:ss tt является то, что вы ищете.

+0

на самом деле это сработает, но оно показало дату как 7/12/2013 3:06:11 PM. в то время как я пытался показать месяц как июль, а не 7. –

+0

@JohnPeter: вы могли бы показать свою логику отображения? –

+0

Я хочу показать дату в следующем формате «12 июля 2013 года 3:06:11 PM». Я подаю в суд на "@ Html.DisplayTextFor (model => item.DateTimeStart)" для отображения значений. –

Смежные вопросы