ASP.NET MVC - атрибут DisplayFormat - PullRequest
0 голосов
/ 06 мая 2011

В моей модели у меня есть свойство MyDate, которое имеет тип datetime.Я подписываю свойство атрибутом DisplayFormat в этом режиме:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy hh:mm}")]
public DateTime MyDate { get; set; }

на мой взгляд:

...
<%= Html.EditorFor(model => model.Evento.MyDate)%>
...

почему, если значение свойства равно '2011-05-03 14:47«На мой взгляд (в EditorFor) я вижу« 03/05/2011 02.47 »?

DataFormatString верна!

большое спасибо за ответ

Альберто

Ответы [ 2 ]

6 голосов
/ 06 мая 2011

Если я не ошибаюсь, строка формата {0:dd/MM/yyyy hh:mm} будет выводиться как 03/05/2011 02.47. Вы видите то, что я ожидал увидеть.

UPDATE: Чтобы получить 24-часовую запись, вы можете использовать {0:dd/MM/yyyy HH:mm} с прописными буквами HH для обозначения часа.

4 голосов
/ 06 мая 2011

Это потому, что : является зарезервированным символом, указывающим разделитель времени для данной культуры, который в вашем случае может оказаться символом ..Вы хотите:

DataFormatString = @"{0:dd/MM/yyyy HH\:mm}"

Возможно, вы также захотите использовать HH, то есть 24-часовой формат вместо hh.

...