ASP.NET MVC - DisplayFormat属性

时间:2011-05-05 20:53:45

标签: .net asp.net-mvc-2 data-annotations editorfor dataformat

在我的模型中,我有具有日期时间类型的MyDate属性。 我在此模式下使用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 个答案:

答案 0 :(得分:6)

除非我弄错了,{0:dd/MM/yyyy hh:mm}的格式字符串将输出为03/05/2011 02.47。你看到了我期望看到的东西。

<强>更新 要获得24小时制表示法,您可以使用{0:dd/MM/yyyy HH:mm}和大写HH来指定小时。

答案 1 :(得分:4)

那是因为:是一个保留字符,表示给定文化的时间分隔符,在您的情况下可能恰好是.字符。你想要:

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

您可能还想使用HH这是24小时格式,而不是hh