DateTime分钟格式:00

Xr4*_*r4y 1 c# model-view-controller datetime

我无法显示正确的分钟格式.只有第一个分钟数(fe:17:0for 17:0014:3for 14h03)

格式出了什么问题?

我的看法:

<td>
    @Html.DisplayFor(modelItem => item.HeureEvenement.Hour):@Html.DisplayFor(model => item.HeureEvenement.Minute)
</td>
Run Code Online (Sandbox Code Playgroud)

我的模特:

[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; }
Run Code Online (Sandbox Code Playgroud)

Mik*_*aev 5

根据MSDN,DataFormatString的属性应该是这样的

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:HH:mm tt}")]
Run Code Online (Sandbox Code Playgroud)

你应该像它一样显示它

<td>
    @Html.DisplayFor(modelItem => item.HeureEvenement)
</td>
Run Code Online (Sandbox Code Playgroud)

因为.Hour.Minute是整数,它将呈现为整数,而不是像datetime

或者你可以直接在视图中写格式为

@item.HeureEvenement.ToString("HH:mm")
Run Code Online (Sandbox Code Playgroud)

而不是.DisplayFor使用


实际上你可以修改你的代码

<td>
    @Html.DisplayFor(modelItem => item.HeureEvenement.Hour.ToString("00")):@Html.DisplayFor(model => item.HeureEvenement.Minute.ToString("00")
</td>
Run Code Online (Sandbox Code Playgroud)

并且它将始终显示2位数小时和2位数分钟.但是如果您想要修改输出格式,则需要更多时间