为什么JavaScript Date(毫秒)根据参数的值给出不同的时区?

时间:2016-07-13 07:21:04

标签: javascript date timezone

请原谅我的无知,但有人可能会向我解释为什么当Date(milliseconds)小于1e10时,JavaScript的milliseconds会返回不同的时区?

以下是我所看到的最小例子:

的JavaScript

console.log( new Date( 1e3 ).toString() );
console.log( new Date( 1e10 ).toString() );
console.log( new Date().toString() );

控制台输出

Thu Jan 01 1970 01:00:01 GMT+0100 (W. Europe Daylight Time)
Sun Apr 26 1970 19:46:40 GMT+0200 (W. Europe Standard Time)
Wed Jul 13 2016 09:06:50 GMT+0200 (W. Europe Standard Time)

请注意,第一个输出与最后两个(GMT + 0200)的时区(GMT + 0100)不同...

对此可能有一个很好的解释,但我没有看到它。

感谢您的帮助。

亲切的问候, 丹尼斯

1 个答案:

答案 0 :(得分:0)

您在此处看到的不是时区更改,而是应用于给定时区的夏令时(DST)。

引用MDN的Date.prototype.getTimezoneOffset()文档:

时区偏移是UTC与本地时间之间的差异(以分钟为单位)。 (......) 夏令时可防止此值即使对于给定的区域设置也是常量。