Unable to set datetime format in MVC 4 using data annotations
63,823
Solution 1
You missed 2 things here:
DataFormatString="{0:dd/MM/yyyy}"; //It is dd/MM/yyyy instead of dd/mm/yyyy
and you also need:
ApplyFormatInEditMode=true
Try to use this:
[Display(Name = "Release Date")]
[DataType(DataType.Date), DisplayFormat( DataFormatString="{0:dd/MM/yyyy}", ApplyFormatInEditMode=true )]
public Nullable<DateTime> release_date { get; set; }
Solution 2
{0:dd/mm/yyyy}
should be {0:dd/MM/yyyy}
because mm
means minutes, not months:
[Display(Name = "Release Date")]
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public Nullable<DateTime> release_date { get; set; }
Author by
Sender
Passion and Skills will take your startup to the next level. Learning is fun, but teaching is awesome. Code re-usability is my passion, Teaching, and learning is my hobby, Becoming a successful entrepreneur is my goal.
Updated on November 11, 2020Comments
-
Sender over 3 years
I will try everything but not working this(dd/MM/yyyy) date format, this always gate mm/dd/yyyy
[Display(Name = "Release Date")] [DataType(DataType.DateTime)] [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] public Nullable<DateTime> release_date { get; set; }
Razor view
@Html.EditorFor(model => model.release_date)
Using DateTime Template.
@model Nullable<System.DateTime> @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(".", "_"); } <script type="text/javascript"> $(document).ready(function () { $("#@id").datepicker({ dateFormat: "dd/mm/yy", showStatus: true, showWeeks: true, highlightWeek: true, numberOfMonths: 1, showAnim: "scale", showOptions: { origin: ["top", "left"] } }); }); </script>