0

In my model i've the MyDate property that has datetime type. I sign the property with the DisplayFormat attribute in this mode:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy hh:mm}")]
public DateTime MyDate { get; set; }

in my view:

...
<%= Html.EditorFor(model => model.Evento.MyDate)%>
...

why if the value of property is '2011-05-03 14:47', in my view (into EditorFor) i see '03/05/2011 02.47' ?

The DataFormatString is correct!

thanks so much for reply

Alberto

Alberto Rubini
  • 655
  • 3
  • 10
  • 19

2 Answers2

6

Unless I'm mistaken, the format string of {0:dd/MM/yyyy hh:mm} will output as 03/05/2011 02.47. You're seeing what I would expect to see.

UPDATE: To get the 24 hour notation you can use {0:dd/MM/yyyy HH:mm} with the uppercase HH to designate the hour.

ataddeini
  • 4,931
  • 26
  • 34
4

That's because : is a reserved character indicating the time separator for the given culture which in your case might happen to be the . character. You want:

DataFormatString = @"{0:dd/MM/yyyy HH\:mm}"

You probably might also want to use HH which is the 24 hour format instead of hh.

Darin Dimitrov
  • 1,023,142
  • 271
  • 3,287
  • 2,928