无法使用数据注释在MVC 4中设置日期时间格式

我会尝试一切但不工作这个( dd / MM / yyyy )日期格式,这总是门mm / dd / yyyy

[Display(Name = "Release Date")] [DataType(DataType.DateTime)] [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] public Nullable release_date { get; set; } 

剃刀视图

 @Html.EditorFor(model => model.release_date) 

使用DateTime模板。

 @model Nullable @if (Model.HasValue) { @Html.TextBox("", String.Format("{0:dd/MM/yyyy}", Model.Value)) } else { @Html.TextBox("", String.Format("{0:dd/MM/yyyy}", DateTime.Now)) } @{ string name = ViewData.TemplateInfo.HtmlFieldPrefix; string id = name.Replace(".", "_"); }  $(document).ready(function () { $("#@id").datepicker({ dateFormat: "dd/mm/yy", showStatus: true, showWeeks: true, highlightWeek: true, numberOfMonths: 1, showAnim: "scale", showOptions: { origin: ["top", "left"] } }); });  

你错过了两件事:

 DataFormatString="{0:dd/MM/yyyy}"; //It is dd/MM/yyyy instead of dd/mm/yyyy 

你还需要:

 ApplyFormatInEditMode=true 

试着用这个:

 [Display(Name = "Release Date")] [DataType(DataType.Date), DisplayFormat( DataFormatString="{0:dd/MM/yyyy}", ApplyFormatInEditMode=true )] public Nullable release_date { get; set; } 

{0:dd/mm/yyyy}应为{0:dd/MM/yyyy}因为mm表示分钟,而不是月份:

 [Display(Name = "Release Date")] [DataType(DataType.DateTime)] [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] public Nullable release_date { get; set; } 

如果使用数据注释。 当显示它很好。 但是在编辑模式时。 它仍然使用服务器格式(文化设置)DisplayFormat:喜欢它的名称,仅用于显示

有一些选择可以解决。 – 使用您喜欢的格式将服务器粘贴到服务器上 – 编写客户绑定 – 在web.config中设置全球化格式:dd / MM / yyy我使用设置波纹管

   ....