firefox中的日期值错误

时间:2017-01-07 06:06:19

标签: javascript google-chrome date firefox

浏览器中JavaScript日期的不同行为。

我在Firefox中创建了新日期但它返回的值不正确。

在Firefox中

new Date(2017,2,22)
Date 2017-03-21 T19:30:00.000Z
Chrome中的

new Date(2017,2,22)
Wed Mar 22 2017 01:00:00 GMT+0430 (Iran Daylight Time)

如何让Firefox像Chrome一样使用日期?

1 个答案:

答案 0 :(得分:2)

您的问题似乎与浏览器如何应用夏令时有关。在德黑兰,时钟在2017年3月22日午夜的夏令时向前推进。2017-03-22 00:00:00瞬间变为2017-03-22 01:00:00。

Firefox似乎并没有将夏令时应用到午夜,而Chrome确实如此。它似乎应用了错误的偏移量(它实际上从标准时间减去了一个小时)直到01:00:

df['Date_Time'].dt.day 

它使用相同的时区名称缩写。将其报告为错误。

浏览器Date对象存在许多小问题。如果您依赖客户日期行为,请准备好发现它们。

修改

您似乎可以使用 Date.UTC

解决此问题
new Date(2017,2,22,0,59); // Tue Mar 21 2017 23:59:00 GMT+0330 (IRST)
new Date(2017,2,22,1,0);  // Wed Mar 22 2017 01:00:00 GMT+0430 (IRST)

仍然有不正确的时区缩写,但你不应该依赖它,其余的似乎是正确的。