浏览器,时区,Chrome 67错误(历史时区变更)

浏览器,时区,Chrome 67错误(历史时区变更)

我已将Chrome更新为67版。我收到日期错误

==============

Microsoft Edge 42.17134.1.0

new Date("1900-01-01T00:00:00").getTimezoneOffset() -180new Date("2018-05-30T00:00:00").getTimezoneOffset()-180

Microsoft Internet Explorer 11.48.17134.0

new Date("1900-01-01T00:00:00").getTimezoneOffset() -180new Date("2018-05-30T00:00:00").getTimezoneOffset() -180

Mozilla Firefox 60.0.1

new Date("1900-01-01T00:00:00").getTimezoneOffset() -180new Date("2018-05-30T00:00:00").getTimezoneOffset() -180

Chrome 67.0.3396.62

new Date("1900-01-01T00:00:00").getTimezoneOffset() -150new Date("2018-05-30T00:00:00").getTimezoneOffset()-180

======================

Chrome 67中的-150 ...

另一个例子(Chrome 67):

new Date("1900-01-01T00:00:00");Mon Jan 01 1900 00:00:00 GMT+0230 (Moscow Standard Time)

======================

使用Chrome 67时,时区开始不正确(+ 0230,原因是:+0300)

请告诉我?

我能做什么 ?

情况非常重要!我必须重写的所有代码......

======================


收到一只叮咚
浏览 2540回答 3
3回答

红颜莎娜

使用时我遇到了类似的问题new Date(".."); 构造函数。(自从Chrome版本发生变化)来自MDN日期参考的说明:注意:由于浏览器差异和不一致,强烈建议不要使用Date构造函数(和Date.parse,它们是等效的)解析日期字符串。对RFC 2822格式字符串的支持仅限于惯例。对ISO 8601格式的支持不同之处在于仅日期字符串(例如“1970-01-01”)被视为UTC,而不是本地。也许在您的代码中可以使用其他Date constrcutor,如: new Date(Date.UTC(96, 1, 2, 3, 4, 5));

浮云间

如果您想进行准确的计算,历史日期,时间和时区非常复杂。它们今天仍然有点乱,但比以前简单得多。您不能指望javascript实现包含所有时区和区域的所有日期的所有偏移(特别是在javascript“locale”实际上是语言代码而不是位置时)。如果您需要,请使用具有适当数据库的库,该数据库具有基于位置(而非语言)的精确偏移量,例如IANA时区数据库..
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript