Apabila cuba menukar rentetan tarikh kepada objek Date menggunakan pembina Date() baharu, tingkah laku boleh berbeza antara pelayar yang berbeza. Ini amat ketara apabila berurusan dengan rentetan tarikh UTC (Masa Universal Terkoordinasi).
Dalam coretan kod yang disediakan:
var date = new Date('2013-02-27T17:00:00'); alert(date);
Chrome mentafsir rentetan input sebagai waktu tempatan, melaraskannya berdasarkan pada zon waktu penyemak imbas. Dalam kes ini, ia mentafsirkan masa sebagai 12:00 AM waktu tempatan pada 28 Februari 2013.
Firefox, sebaliknya, menghuraikan rentetan sebagai waktu UTC dan memaparkannya dengan sewajarnya. Dalam kes ini, ia memaparkan masa dengan betul sebagai 5:00 PTG (GMT 7:00) pada 27 Februari 2013.
Untuk memastikan gelagat yang konsisten merentas penyemak imbas, adalah penting untuk menyediakan rentetan tarikh dalam UTC yang betul format. Format piawai untuk UTC ialah ISO 8601, yang termasuk akhiran "Z" untuk menunjukkan masa UTC:
2013-02-27T17:00:00Z
Dengan menambahkan "Z" pada input rentetan, anda boleh memastikan bahawa kedua-dua Chrome dan Firefox akan mentafsir rentetan tarikh sebagai masa UTC, menghasilkan output yang sama:
var date = new Date('2013-02-27T17:00:00Z'); alert(date);
Output:
Rabu 27 Feb 2013 17:00 :00 GMT 0700 (Waktu Piawai Asia Tenggara)
Atas ialah kandungan terperinci Mengapakah `New Date()` Mentafsir Rentetan UTC Secara Berbeza dalam Chrome dan Firefox?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!