首页  >  文章  >  web前端  >  为什么 Chrome 67 会产生 1970 年之前日期的时区错误?

为什么 Chrome 67 会产生 1970 年之前日期的时区错误?

Barbara Streisand
Barbara Streisand原创
2024-11-08 12:25:01985浏览

Why Does Chrome 67 Produce Time Zone Errors for Dates Before 1970?

Chrome 67 错误:历史时区更改

问题描述

更新到 Chrome 后67 号版本中,用户在检索 1970 年之前日期的时区偏移时遇到错误。例如,在欧洲/莫斯科时区:

new Date("1900-01-01T00:00:00").getTimezoneOffset() 
-150

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

解释

中1900 年,欧洲/莫斯科时区的偏移量为 02:30:17。 Chrome 67 似乎向下舍入到 02:30 以避免亚分钟偏移,从而导致观察到的行为。

为什么其他浏览器不出现此错误

其他浏览器可能未应用此舍入行为或可能使用不同的时区数据库。

最佳实践

为避免此错误,应用程序不应请求时间1970 年之前日期的时区信息。IANA 时区数据库旨在提供 Unix 纪元以来的准确数据,而早期数据的可靠性较低。

Chrome 67 中更改的可能原因

推测 Chrome 67 可能已经开始捆绑 IANA 时区数据,而不是依赖操作系统数据。这可以解释与以前版本的 Chrome 的行为差异。

以上是为什么 Chrome 67 会产生 1970 年之前日期的时区错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn