将 UTC GMT+0200 转换为本地时间



我正在尝试将存储在SQL Server中作为DateTime的UTC日期转换为客户端的本地日期时间。

我有一个日期以 UTC 形式存储在我的数据库中,它的值是 2017-01-10 10:52:07.820 .

使用下面的代码,它显示为Tue Jan 10 2017 10:52:07 GMT+0200 (GTB Standard Time)

 var testDateUtc = moment(item.DatePosted); //"/Date(1484038327820)/"
 var localDate = moment(testDateUtc).local();           
 var d = localDate.toDate();              
 var DatePosted = d; //result is Tue Jan 10 2017 10:52:07 GMT+0200 (GTB Standard Time)

我想将偏移量 GMT+0200 添加到日期中,以便最终日期如下所示:周二 Jan 10 2017 12:52:07 或理想情况下将其格式化为:10/1/2017 12:52

有什么想法吗?

由于输入是UTC格式的,因此在构造时刻对象时必须使用moment.utc模式。

您可以使用format()来选择如何显示时刻对象。

这里有一个工作示例:

var testDateUtc = moment.utc(1484038327820);
var localDate = moment(testDateUtc).local();
console.log(localDate.format('D/M/YYYY HH:mm'));
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>

最新更新