我无法显示正确的分钟格式。
只有第一个分钟数(fe 17:0
代表17:00
而14:3
代表14h03
格式有什么问题?
我的观点:
<td>
@Html.DisplayFor(modelItem => item.HeureEvenement.Hour):@Html.DisplayFor(model => item.HeureEvenement.Minute)
</td>
我的模特:
[Column("HEURE_EVENEMENT")]
[Required]
[Display(Name = "Heure de début: ")]
[DataType(DataType.Time)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "HH:mm tt")]
public DateTime HeureEvenement { get; set; }
答案 0 :(得分:5)
根据MSDN,您的DataFormatString
in属性应该看起来像
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:HH:mm tt}")]
你应该像
一样显示它<td>
@Html.DisplayFor(modelItem => item.HeureEvenement)
</td>
因为.Hour
和.Minute
是整数,它将呈现为整数,而不是像datetime
或者您可以直接在视图中将格式写为
@item.HeureEvenement.ToString("HH:mm")
而不是.DisplayFor
用法
实际上您可以将代码修改为
<td>
@Html.DisplayFor(modelItem => item.HeureEvenement.Hour.ToString("00")):@Html.DisplayFor(model => item.HeureEvenement.Minute.ToString("00")
</td>
它将始终显示2位数小时和2位数分钟。但是如果你想修改输出格式需要更多的时间