我正在使用ASP.NET MVC构建应用程序。目前,用户创建记录。我以UTC时间存储创建记录的日期/时间。当我向用户显示它们时,我想将它们格式化为February 8, 2015 at 9:30 pm (local time)
。我如何在我看来这样做?目前,我有:
@(Model.CreatedOnUTC.ToLongDateString() + " at " + Model.CreatedOnUTC.ToShortTimeString())
但是,这不是很正确。首先,它不会转换为用户的本地时间。其次,格式不正确。我知道服务器无法保证知道用户的时区。我们假设它确实如此。
答案 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'));
});
}