ASP.NET MVC - DisplayFormat 属性
在我的模型中,我有具有日期时间类型的 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 是正确的!
非常感谢
阿尔贝托的回复
In my model i've the MyDate property that has datetime type.
I sign the property with the DisplayFormat attribute in this mode:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy hh:mm}")]
public DateTime MyDate { get; set; }
in my view:
...
<%= Html.EditorFor(model => model.Evento.MyDate)%>
...
why if the value of property is '2011-05-03 14:47', in my view (into EditorFor) i see '03/05/2011 02.47' ?
The DataFormatString is correct!
thanks so much for reply
Alberto
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
除非我弄错了,否则
{0:dd/MM/yyyy hh:mm}
的格式字符串将输出为03/05/2011 02.47
。你看到的正是我所期望看到的。更新:
要获取 24 小时表示法,您可以使用
{0:dd/MM/yyyy HH:mm}
和大写的HH
来指定小时。Unless I'm mistaken, the format string of
{0:dd/MM/yyyy hh:mm}
will output as03/05/2011 02.47
. You're seeing what I would expect to see.UPDATE:
To get the 24 hour notation you can use
{0:dd/MM/yyyy HH:mm}
with the uppercaseHH
to designate the hour.这是因为
:
是一个保留字符,指示给定区域性的时间分隔符,在您的情况下可能恰好是.
字符。您想要:您可能还想使用 24 小时格式
HH
而不是hh
。That's because
:
is a reserved character indicating the time separator for the given culture which in your case might happen to be the.
character. You want:You probably might also want to use
HH
which is the 24 hour format instead ofhh
.