在ASP.NET MVC Razor视图中显示本地日期/时间

时间:2015-02-11 20:29:10

标签: asp.net-mvc razor

我有一个ASP.NET MVC应用程序。这个应用程序使用Razor作为视图引擎。我需要向用户显示日期/时间。我的挑战是,模型上的DateTime属性是UTC时间。我想将时间显示为用户的当地时间。目前,我有以下内容:

<div>
@if (Model.LastModifiedOnUTC.HasValue) {
  Html.Raw(Model.LastModifiedOnUTC.ToString());
}
else {
  <span>This record has not been updated</span>
}
</div>

我希望将DateTime显示为&#34; 2015年2月11日星期三下午3:27&#34;。但是,我不知道该怎么做。当我执行上述操作时,将打印一个空字符串。这对我没有任何意义。

感谢您的任何见解

2 个答案:

答案 0 :(得分:6)

一种选择是使用JavaScript。

在您的视图中

<time>@Model.LastModifiedOnUTC.ToString("yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture)<time>

JS(我的JQuery示例)

$("time").each(function (elem) {
        var utctimeval = $(this).html();
        var date = new Date(utctimeval);
        $(this).html(date.toLocaleString());
})

答案 1 :(得分:-3)

您可以在剃刀中使用以下代码

<div>
@if (Model.LastModifiedOnUTC.HasValue) {
Html.Raw(Model.LastModifiedOnUTC.ToLocalTime().ToString());
}
else {
<span>This record has not been updated</span>
}
</div>