浏览器、时区和 Chrome 67:浏览历史时区更改
在时区和浏览器行为的背景下,最近的更改Chrome 67 中的问题引起了开发者的担忧。更新到版本 67 后,与以前的浏览器版本和其他浏览器相比,一些用户遇到了时区偏移差异。
问题陈述
主要问题在于处理之前的日期1970 年,特别是欧洲/莫斯科时区的时区偏移。在早期的 Chrome 版本中,偏移量始终报告为 03:00。但是,Chrome 67 现在对于 1900 年之前的日期返回 02:30。
说明
要了解此更改,参考 IANA 时区数据库至关重要,它为浏览器时区处理提供参考数据。根据该数据库,欧洲/莫斯科时区在 1900 年确实有 02:30:17 的偏移。Chrome 似乎将此偏移向下舍入为 02:30,从而导致了观察到的行为。
影响和注意事项
虽然这看起来像是一个微小的调整,但此更改可能会对依赖准确历史时区数据的代码产生重大影响。为了解决此问题,建议避免使用 1970 年之前日期的时区信息。IANA 理论文件明确承认为这些早期时期提供可靠数据的挑战。
更改的可能原因
值得推测为什么这种变化特别出现在 Chrome 67 中。一种可能的解释是 Chrome 可能已经开始直接使用 IANA 时区数据,而不是依赖于运营商提供的时区数据。系统。这可以解释与以前的 Chrome 版本的偏差,这些版本可能使用了操作系统数据。
结论
了解浏览器中时区处理背后的底层机制是关键避免意外的行为。通过考虑数据源和历史时区转换的细微差别,开发人员可以调整其代码以适应最新的浏览器更改,并确保一致且可靠的时区处理。同样重要的是要考虑 1970 年之前可用数据的局限性和准确性。
以上是为什么 Chrome 67 会针对 1900 年之前的日期报告不同的时区偏移?的详细内容。更多信息请关注PHP中文网其他相关文章!