瀏覽器、時區和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中文網其他相關文章!