格式化DateTime的两种方法

时间:2016-05-27 14:00:24

标签: c# asp.net-mvc datetime

我有一个 DateTime 属性,在我的模型中我有这个:

[Display(Name = "Date:")]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy HH:mm}", ApplyFormatInEditMode = true)]
[Required(ErrorMessage = "This field is required!")]
public Nullable<System.DateTime> Day { get; set; }

这非常合适,但是我有一个ViewModel,它会填充此属性所保存的任何值,并且在ViewModel的视图中我需要日期来显示DateTime格式的tt部分。

所以我在ViewModel的cshtml中尝试了这个:

@Html.DisplayFor(modelItem => item.Day, "{0:MM/dd/yyyy hh:mm tt}")

但是这仍然会在没有tt的情况下呈现。有没有办法在某些视图上显示格式可以是MM/dd/yyyy HH:mm,而在其他视图上,显示格式可以是MM/dd/yyyy hh:mm tt同一属性?

1 个答案:

答案 0 :(得分:2)

@Html.DisplayFor(..将始终使用模型上指定的DisplayFormat。所以你的代码不会工作。

为了获得&#39;你可以尝试这个日期的一部分。 (因为您只显示日期时间而不是编辑它)

<div>
<span> @item.Day.ToString("MM/dd/yyyy HH:mm tt") </span>
</div>