MVC3显示日期+没有格式字符串的短时间

And*_*ers 5 culture localization datetime-format asp.net-mvc-3

在MVC中你可以做到

[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy h:mm tt}"]
Run Code Online (Sandbox Code Playgroud)

这将转化为

10/12/2011 1:30 PM

这对于en-US用户来说是正确的

但是让我们说瑞典用户访问该网站(sv-SE)

然后我想要

2011-10-12 13:30

所以我不能使用格式字符串..如果我从模型中删除格式属性我会得到

2011年12月10日下午1:30:20为en-US和2011-10-12 13:30:20为sv-SE

如何在没有秒的情况下获得正确的格式?

Mik*_*erg 3

您可以使用g格式说明符,即“常规日期短时间”格式说明符,它恰好是您正在寻找的格式说明符。

像这样:

 [DisplayFormat(DataFormatString = "{0:g}")]
 // Displays 2011-10-12 11:40 for sv-SE
 // Displays 10/12/2011 11:40 AM for en-US
Run Code Online (Sandbox Code Playgroud)

完整文档:http://msdn.microsoft.com/en-us/library/az4se3k1.aspx