我有一个使用Date
JavaScript 中的对象的程序。我注意到该程序无法在所有时区(国家)正常运行。
所以我改变了我的 Windows 时区,在特定日期得到了奇怪的结果。
使用这些代码行,我在许多时区都有相同的结果,但其中一个(也许是一些):
console.log( new Date( 2005, 2, 20 ) ); // 2005 Mar 20
console.log( new Date( 2006, 2, 20 ) ); // 2006 Mar 20
时区:UTC 00:00
(正确)
时区:太平洋(美国和加拿大)-08:00
(正确)
时区:纽芬兰-03:30
(正确)
时区:中国+08:00
(正确)
时区:伊朗+03:30
(不正确!)
(注意19 Mar和23:00:00以及Daylight vs. Standard)
(我已经在 Chrome 中测试了这个问题,结果相同)
我已经用这个解决方案解决了这个问题:
new Date( Date.UTC(2005, 2, 20) );
但我想知道这里发生了什么?
是否+03:30
有任何错误?日光和标准有什么区别?
这很奇怪...