当DateFormat为dd.MM.yyyy且dd大于12时,不显示日期字段

时间:2014-06-27 13:02:55

标签: asp.net-mvc-4 datetime date-format

在我的视图模型中,我有几个DateTime字段。我使用DisplayFormat属性对它们进行了修饰,以便为它们提供日期时间格式:

 public class MyModel{
   [DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}")]
   public DateTime? ReceivedDate{get;set;}
   //omitted for brevity
 }

这是视图:

 <div>@Html.DisplayFor(x=>x.ReceivedDate)</div>

现在,当日期是1985年7月12日时,它将显示07.12.1985(交换日期和月份)。但是,如果我将日期设定为例如1985年7月13日,它将只是空白。显然,MVC试图将输入的日期与其他格式相匹配。

P.S。我首先将模型插入数据库,然后在另一个视图中读取最近添加的模型。

1 个答案:

答案 0 :(得分:0)

我发现导致此问题的问题。在我的web.config文件中,有以下条目:

<system.web>
  <globalization enableClientBasedCulture="true" culture="auto:en-US" uiCulture="auto:en-US" />
</system.web>

因此,这将当前的文化设定为美国。删除该条目后问题得到解决。顺便说一句,你可以设置你想要的文化,而不是删除。