我在 JS 方面真的很糟糕,而且我正在为 moment.js 苦苦挣扎
我的愿望是:从 div (UTC) 获取日期并根据用户的时区转换此日期。
因此,如果 UTC 日期是 30/03/2017 6:34:22 AM 在纽约有人看到 30/03/2017 2:34:22 AM 在珀斯有人看到 30/03/2017 2:34:22 PM
我在 C# 中用 TimeZoneInfo 和 IsDaylightSavingTime 做了类似的事情,但我不知道如何在 JS 中做到这一点。
在我的代码下面:
// <div id="utc-time">30/03/2017 6:34:22 AM</div>
var dt = document.getElementById("utc-time").innerHTML;
var m = moment(dt, "DD-MM-YYYY hh:mm:ss a");
var tz = moment.tz.guess();
var user = moment.tz(dt, "DD-MM-YYYY hh:mm:ss a", tz);
var mString = m.toString();
// Console.log
// -----------
dt = 30/03/2017 6:34:22 AM
m = 1490826862000
user = Thu Mar 30 2017 06:34:22 GMT+0800
mString = Wed Mar 29 2017 22:34:22 GMT+0000
看起来创建的时刻不是UTC而是保留本地时区。一个提示会很好:)