Asp.net mvc 4 日期格式为dd.MM.yyyy且dd大于12时,不显示日期字段

Asp.net mvc 4 日期格式为dd.MM.yyyy且dd大于12时,不显示日期字段,asp.net-mvc-4,datetime,date-format,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=&

在我的视图模型中,我有几个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>
@Html.DisplayFor(x=>x.ReceivedDate)
现在,当日期为1985年7月12日时,它将显示07.12.1985(日期和月份交换)。但如果我把日期设为1985年7月13日,它将是空白的。显然MVC试图将输入的日期与其他格式匹配


注意:我首先将模型插入数据库,然后在另一个视图上读取最近添加的模型。

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

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


因此,这是为我们设定了当前的文化。删除该条目后,问题得到解决。顺便说一句,您只需设置所需的区域性,而无需删除。

我尝试过,但无法复制。该格式不适用于您描述的行为。您能检查一下吗?
System.Globalization.CultureInfo.CurrentCulture
的值是多少?也许这影响了这里的事情。很抱歉回复晚了。你想让我在哪里查一下。我对那件事没有什么特别的意见,但任何地方都可以工作。你可以把它放在视图中。哈,你的意思是输出它。它显示了en-US。谢谢我只是检查一下。区域性可以影响
DateTime
格式的行为。但我认为这里的情况并非如此。我试过你给我的密码,它对我有效。很抱歉