我有一个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;。但是,我不知道该怎么做。当我执行上述操作时,将打印一个空字符串。这对我没有任何意义。
感谢您的任何见解
答案 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>