首頁 >web前端 >js教程 >為什麼 Chrome 67 會產生 1970 年之前日期的時區錯誤?

為什麼 Chrome 67 會產生 1970 年之前日期的時區錯誤?

Barbara Streisand
Barbara Streisand原創
2024-11-08 12:25:011056瀏覽

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

Chrome 67 錯誤:歷史時區變更

問題描述

問題描述
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