Moment/Timezone - 将日期转换为 unix
Moment/Timezone - converting a date to unix
为什么下面return Fri, 22 Apr 2016 13:01:00 GMT
?
不应该是Fri, 22 Apr 2016 17:01:00 GMT
(时区加4小时)吗?
var zone = "America/New_York";
var date = 'Fri, 22 Apr 2016 13:01';
$('#ts').text(moment.tz(date, zone).unix()); // 1461330060
// epochconverter.com (1461330060) --> Fri, 22 Apr 2016 13:01:00 GMT ?!!
编辑:已更新 fiddle。如果我传入 Fri, 22 Apr 2016 13:01
,它现在会输出 Fri, 22 Apr 2016 12:01:00 GMT
,因此它会忽略 UTC 预期的任何夏令时,但我仍然感到困惑,为什么它没有 returning Fri, 22 Apr 2016 17:01:00 GMT
?
我认为问题出在使用可能位于美国的 jsfiddle,所以现在正在使用本地化。
我在我的节点服务器(位于英国伦敦)上执行了以下操作,当我将结果与 worldtimebuddy.com/est-to-utc-converter:
进行比较时,以下代码现在可以工作了
var unix = moment.tz('2016-04-22T15:00', "America/New_York").unix();
var zulu = moment.utc(unix, 'X').format();
var local= new Date(zulu).toString();
console.log(unix); // 1461351600 (epochconverter.com --> Fri, 22 Apr 2016 19:00:00 GMT)
console.log(zulu); // 2016-04-22T19:00:00Z
console.log(local); // Fri Apr 22 2016 20:00:00 GMT+0100 (GMT Daylight Time)
总结,现在正确转换了时间:
- 纽约=15:00
- Zulu/UTC = 19:00
- 英国(夏令时)= 20:00
为什么下面return Fri, 22 Apr 2016 13:01:00 GMT
?
不应该是Fri, 22 Apr 2016 17:01:00 GMT
(时区加4小时)吗?
var zone = "America/New_York";
var date = 'Fri, 22 Apr 2016 13:01';
$('#ts').text(moment.tz(date, zone).unix()); // 1461330060
// epochconverter.com (1461330060) --> Fri, 22 Apr 2016 13:01:00 GMT ?!!
编辑:已更新 fiddle。如果我传入 Fri, 22 Apr 2016 13:01
,它现在会输出 Fri, 22 Apr 2016 12:01:00 GMT
,因此它会忽略 UTC 预期的任何夏令时,但我仍然感到困惑,为什么它没有 returning Fri, 22 Apr 2016 17:01:00 GMT
?
我认为问题出在使用可能位于美国的 jsfiddle,所以现在正在使用本地化。
我在我的节点服务器(位于英国伦敦)上执行了以下操作,当我将结果与 worldtimebuddy.com/est-to-utc-converter:
进行比较时,以下代码现在可以工作了var unix = moment.tz('2016-04-22T15:00', "America/New_York").unix();
var zulu = moment.utc(unix, 'X').format();
var local= new Date(zulu).toString();
console.log(unix); // 1461351600 (epochconverter.com --> Fri, 22 Apr 2016 19:00:00 GMT)
console.log(zulu); // 2016-04-22T19:00:00Z
console.log(local); // Fri Apr 22 2016 20:00:00 GMT+0100 (GMT Daylight Time)
总结,现在正确转换了时间:
- 纽约=15:00
- Zulu/UTC = 19:00
- 英国(夏令时)= 20:00