嘗試使用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中文網其他相關文章!