首頁  >  文章  >  web前端  >  為什麼 Chrome 和 Firefox 中 `new Date()` 對 UTC 字串的解釋不同?

為什麼 Chrome 和 Firefox 中 `new Date()` 對 UTC 字串的解釋不同?

Patricia Arquette
Patricia Arquette原創
2024-11-01 07:29:30886瀏覽

Why Does `new Date()` Interpret UTC Strings Differently in Chrome and Firefox?

Chrome 與Firefox 之間new Date() 行為的差異

嘗試使用new Date() 建構子將日期字串轉換為Date 物件時,行為可能會發生變化不同瀏覽器之間有所不同。在處理 UTC(協調世界時)日期字串時,這一點尤其明顯。

在提供的程式碼片段中:

var date = new Date('2013-02-27T17:00:00');
alert(date);

Chrome 將輸入字串解釋為本地時間,並根據本地時間進行調整在瀏覽器的時區上。在本例中,它將時間解釋為 2013 年 2 月 28 日當地時間凌晨 12:00。

另一方面,Firefox 會將字串解析為 UTC 時間並相應地顯示它。在本例中,它正確地將時間顯示為 2013 年 2 月 27 日下午 5:00 (GMT 7:00)。

為了確保跨瀏覽器的行為一致,必須提供正確的 UTC 格式的日期字串格式。 UTC 的標準化格式是ISO 8601,其中包含一個「Z」字尾來指示UTC 時間:

2013-02-27T17:00:00Z

透過在字元輸入中附加「Z」串,您可以確保Chrome 和Firefox 都會將日期字串解釋為UTC 時間,從而得到相同的結果輸出:

var date = new Date('2013-02-27T17:00:00Z');
alert(date);

輸出:

2013 年2 月27 日星期三17 :00:00 GMT 0700(東南亞標準時間)

以上是為什麼 Chrome 和 Firefox 中 `new Date()` 對 UTC 字串的解釋不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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