Chrome的DateParsing问题

时间:2018-07-09 15:18:26

标签: javascript google-chrome date

我当前处于UTC +2时区(的黎波里)。在ISO字符串中分配日期值时,我怀疑使用DateLightSaving设置会调整日期值,并且日期值本身也会发生更改。请检查下面的链接以重现该问题。

链接:https://codepen.io/anon/pen/bjbodJ

$(function() {$( "#datepicker" ).datepicker(); $( "#datepicker" ).datepicker("setDate", new Date("1937-02-25T22:00:00.000Z"));});

在边缘浏览器中,该值已正确调整(Firefox,IE也返回正确的值)。但是,价值只有在Google Chrome浏览器中才能更改,在最新版本中也是如此,在旧版本(65)上也可以正常工作。

边缘工作截图:

Edge working screenshot:

Chrome问题屏幕截图:

Chrome issue screenshot:

在以上两个屏幕截图中,您发现日期值已在Chrome浏览器中更改了1天。而在Edge浏览器中显示相同的值(对于mozilla和IE也可以)。

任何人都可以提出建议。

1 个答案:

答案 0 :(得分:0)

从1920年到1959年,的黎波里为+1:00。

如果您想要某个特定日期的午夜当地时间,可以提出要求,而不必试图猜测该时间点的UTC偏移量:

> new Date([1937,2,26]).toISOString()
'1937-02-25T23:00:00.000Z'
> new Date([1919,2,26]).toISOString()
'1919-02-25T23:07:16.000Z'