2017-10-12 39 views
0

以正确的格式存储数据我有一个实体的时间数据类型属性字段:C#MVC剃刀datatype.time editorfor没有出现在编辑

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:hh:mm}")] 
[DataType(DataType.Time)] 
public DateTime BeginTime { get; set; } 

在Razor视图我有这样的代码来创建和编辑

@Html.EditorFor(model => model.BeginTime, new { htmlAttributes = new { @class = "form-control" } }) 

在创建我可以使用timepicker以正确的格式填充此字段,例如01:15 pm并在数据库中以正确的日期时间格式“2017-10-12 13:15:00.000”存储。

但是编辑它会显示01:15 a.m.如果我再次保存对象,它会在数据库损坏数据(“2017-10-12 01:15:00.000”)上以01:15修改字段。

我已经试过这样:属性的

设置显示格式 “HH:MM TT”

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:hh:mm tt}")] 
[DataType(DataType.Time)] 
public DateTime BeginTime { get; set; } 

但在编辑它需要一个空值的字段像( - : - ---)删除保存的数据。

任何人都知道如何解决编辑视图的这种格式问题?

+0

我很抱歉,如果我犯了很多错误,我是西班牙语,但我尽我所能尝试说英语 –

回答

0

尝试: -

[DisplayFormat(ApplyFormatInEditMode =真,DataFormatString = “{0:HH:MM}”)]

对于更多的信息: - HH VS HH: - Difference between java HH:mm and hh:mm on SimpleDateFormat

希望它能起作用。

+0

是的,它的工作!谢谢回答。它在索引上显示1-24小时格式,但可以从@ item.BeginTime.Value.ToString(“hh:mm tt”)的视图打印。再次感谢。 –