Ralat Chrome 67: Perubahan Zon Waktu Bersejarah
Penerangan Masalah
Setelah mengemas kini kepada Chrome 67, pengguna menghadapi ralat apabila mendapatkan semula offset zon waktu untuk tarikh sebelum 1970. Contohnya, di zon waktu Eropah/Moscow:
new Date("1900-01-01T00:00:00").getTimezoneOffset() -150 new Date("2018-05-30T00:00:00").getTimezoneOffset() -180
Penjelasan
Pada tahun 1900, zon waktu Eropah/Moscow mempunyai offset 02:30: 17. Chrome 67 nampaknya akan membundarkan ke bawah kepada 02:30 untuk mengelakkan offset sub-minit, mengakibatkan tingkah laku yang diperhatikan.
Mengapa Penyemak Imbas Lain Tidak Menunjukkan Ralat Ini
Pelayar lain mungkin tidak menggunakan gelagat pembundaran ini atau mungkin menggunakan zon waktu yang berbeza pangkalan data.
Amalan Terbaik
Untuk mengelakkan ralat ini, aplikasi seharusnya tidak meminta maklumat zon waktu untuk tarikh sebelum 1970. Pangkalan data zon waktu IANA bertujuan untuk menyediakan data yang tepat dari zaman Unix dan seterusnya, manakala data untuk tempoh yang lebih awal kurang dipercayai.
Sebab Kemungkinan untuk Perubahan dalam Chrome 67
Spekulasi menunjukkan bahawa Chrome 67 mungkin telah mula menggabungkan data zon waktu IANA dan bukannya bergantung pada data OS. Ini akan menyumbang kepada perbezaan tingkah laku daripada versi Chrome sebelumnya.
Atas ialah kandungan terperinci Mengapa Chrome 67 Menghasilkan Ralat Zon Masa untuk Tarikh Sebelum 1970?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!