在Chrome 更新到版本67 時,用戶遇到了不一致的情況在日期時區偏移中。具體來說,使用者在檢索 1970 年之前的日期的時區資訊時注意到不同瀏覽器返回的偏移值存在差異。
觀察到的錯誤:
在Chrome 67 中, new Date("1900-01-01T00:00:00").getzoneOffset(TimezoneOffset(TimezoneOffset(TimezoneOffset() 返回,表示時區距UTC 偏移2 小時30 分鐘,而其他瀏覽器返回-180 (UTC 3)。
說明:
此差異是由於 Chrome 67 處理歷史時區資料的方式發生了變化。 1919 年之前,歐洲/莫斯科的時區偏移為 2 小時 30 分鐘,而不是整數小時。 Chrome 67 向下捨入到最接近的整小時,導致觀察到的 -150 偏移。
影響:
不一致可能會影響依賴時區敏感的應用程式訊息,特別是 1970 年之前的日期。
解決方案:
為了緩解此問題,建議修改代碼以避免請求1970 年之前的日期的時區信息,因為IANA 時區數據庫可能無法提供該時期的完全準確的數據。此外,值得考慮的是此變更對可能依賴 Chrome 中先前時區偏移行為的現有程式碼的潛在影響。
以上是為什麼 Chrome 67 回傳 1970 年之前日期的時區偏移不準確?的詳細內容。更多資訊請關注PHP中文網其他相關文章!