DateTime分钟格式:00

时间:2015-10-28 09:39:35

标签: c# datetime model-view-controller

我无法显示正确的分钟格式。 只有第一个分钟数(fe 17:0代表17:0014: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; }

1 个答案:

答案 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位数分钟。但是如果你想修改输出格式需要更多的时间