在 Chrome 更新到版本 67 时,用户遇到了不一致的情况在日期时区偏移中。具体来说,用户在检索 1970 年之前的日期的时区信息时注意到不同浏览器返回的偏移值存在差异。
观察到的错误:
在 Chrome 67 中, new Date("1900-01-01T00:00:00").getTimezoneOffset() 返回-150,表示时区距 UTC 偏移 2 小时 30 分钟,而其他浏览器返回-180 (UTC 3)。
说明:
此差异是由于 Chrome 67 处理历史时区数据的方式发生了变化。 1919 年之前,欧洲/莫斯科的时区偏移为 2 小时 30 分钟,而不是整数小时。 Chrome 67 向下舍入到最接近的整小时,导致观察到的 -150 偏移。
影响:
不一致可能会影响依赖时区敏感的应用程序信息,特别是 1970 年之前的日期。
解决方案:
为了缓解此问题,建议修改代码以避免请求 1970 年之前的日期的时区信息,因为 IANA 时区数据库可能无法提供该时期的完全准确的数据。此外,值得考虑的是此更改对可能依赖于 Chrome 中先前时区偏移行为的现有代码的潜在影响。
以上是为什么 Chrome 67 返回 1970 年之前日期的时区偏移量不准确?的详细内容。更多信息请关注PHP中文网其他相关文章!