为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

收到一只叮咚 2019-08-23 10:30:54
浏览器,时区,Chrome 67错误(历史时区变更)我已将Chrome更新为67版。我收到日期错误==============Microsoft Edge 42.17134.1.0new Date("1900-01-01T00:00:00").getTimezoneOffset() -180new Date("2018-05-30T00:00:00").getTimezoneOffset()-180Microsoft Internet Explorer 11.48.17134.0new Date("1900-01-01T00:00:00").getTimezoneOffset() -180new Date("2018-05-30T00:00:00").getTimezoneOffset() -180Mozilla Firefox 60.0.1new Date("1900-01-01T00:00:00").getTimezoneOffset() -180new Date("2018-05-30T00:00:00").getTimezoneOffset() -180Chrome 67.0.3396.62new 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)请告诉我?我能做什么 ?情况非常重要!我必须重写的所有代码......======================
查看完整描述

3 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

使用时我遇到了类似的问题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));


查看完整回答
反对 回复 2019-08-23
?
浮云间

TA贡献1829条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-08-23
  • 3 回答
  • 0 关注
  • 2555 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信