在ASP.NET MVC视图中格式化UTC日期/时间

时间:2015-02-19 15:13:30

标签: c# asp.net-mvc

我正在使用ASP.NET MVC构建应用程序。目前,用户创建记录。我以UTC时间存储创建记录的日期/时间。当我向用户显示它们时,我想将它们格式化为February 8, 2015 at 9:30 pm (local time)。我如何在我看来这样做?目前,我有:

@(Model.CreatedOnUTC.ToLongDateString() + " at " + Model.CreatedOnUTC.ToShortTimeString())

但是,这不是很正确。首先,它不会转换为用户的本地时间。其次,格式不正确。我知道服务器无法保证知道用户的时区。我们假设它确实如此。

1 个答案:

答案 0 :(得分:1)

我用moment.js解决了一个非常相似的要求:

在视图中:

<div class="utcdate-tolocaldate"> 
    @Html.Raw(Model.CreatedAt.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'"))
</div>

然后使用函数:

function utcConversion() {
   $('.utcdate-tolocaldate').each(function () {
       $(this).html(moment($(this).text()).format('L, LT'));
   });
   $('.utcdate-tolocaldateNoTime').each(function () {
       $(this).html(moment($(this).text()).format('L'));
   });
}

这是link for formatting