建立日期物件的跨瀏覽器相容性
使用JavaScript 將日期字串解析為Date 物件時,不同瀏覽器之間會出現差異,例如如Chrome 和Firefox。當使用 new Date() 建構函式解析格式為「YYYY-MM-DDTHH:MM:SS」的日期字串時,這種差異變得很明顯。
在提供的程式碼片段中:
<code class="js">var date = new Date('2013-02-27T17:00:00');</code>
Firefox 將輸入字串解釋為本地時間並添加本地時區偏移量 (GMT 0700)。這會導致日期比預期UTC 時間早一天,產生:
Wed Feb 27 2013 17:00:00 GMT+0700 (SE Asia Standard Time)
相反,Chrome 會正確地將字串解析為UTC 時間並傳回預期結果:
Thu Feb 28 2013 00:00:00 GMT+0700 (SE Asia Standard Time)
解決方案
為了確保跨瀏覽器的行為一致,請將「Z」附加到日期字串以明確指示UTC 時間。 UTC 的正確格式為「YYYY-MM-DDTHH:MM:SSZ」。
<code class="js">var date = new Date('2013-02-27T17:00:00Z');</code>
此修改將解決差異並在 Chrome 和 Firefox 中產生相同的結果,反映原始 UTC 時間:
Thu Feb 28 2013 00:00:00 GMT+0700 (SE Asia Standard Time)
以上是為什麼 `new Date(\'YYYY-MM-DDTHH:MM:SS\')` 在 Chrome 和 Firefox 中產生不同的結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!