首頁 >web前端 >js教程 >為什麼 Chrome 和 Firefox 之間的日期字串轉換不同?

為什麼 Chrome 和 Firefox 之間的日期字串轉換不同?

Barbara Streisand
Barbara Streisand原創
2024-10-29 10:47:291037瀏覽

Why Does Date String Conversion Differ Between Chrome and Firefox?

Chrome 和Firefox 之間的日期字串轉換差異

當嘗試使用new Date() 將日期字串轉換為Date 物件時,使用者Chrome 和Firefox 之間可能會遇到不同的結果。這種差異源自於兩個瀏覽器如何解釋表示 UTC(協調世界時)的日期字串。

Firefox 與Chrome 行為

在Firefox 中,代碼var日期= 新日期('2013-02-27T17:00:00');返回2013 年2月27 日星期三17:00:00 GMT 0700(東南亞標準時間)。這是因為 Firefox 假定日期字串為本地時間,並將其轉換為瀏覽器的本地時區。

相反,Chrome 將日期字串解釋為 UTC 並傳回 Thu Feb 28 2013 00:00:00 GMT 0700 (東南亞標準時間)。這是因為日期字串缺少表示 UTC 時間的字母「Z」。

修正問題

為了確保兩個瀏覽器回傳正確的 UTC 日期,日期字串的格式必須正確。 UTC 的正確格式是 YYYY-MM-DDTHH:MM:SSZ。在這種情況下,需要附加 '2013-02-27T17:00:00' 末尾缺少的“Z”。

透過將程式碼修改為var date = new Date('2013-02 -27T17:00:00Z');,Chrome 和Firefox 都會傳回預期的UTC 日期和時間,即2013 年2 月28 日星期四00:00:00 GMT 0700(東南亞標準時間)。

以上是為什麼 Chrome 和 Firefox 之間的日期字串轉換不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn