Sebagai tindak balas kepada kemas kini Chrome kepada versi 67, pengguna mengalami ketidakkonsistenan dalam tarikh mengimbangi zon masa. Khususnya, pengguna melihat perbezaan dalam nilai offset yang dikembalikan oleh pelbagai penyemak imbas apabila mendapatkan maklumat zon waktu untuk tarikh sebelum 1970.
Ralat Diperhatikan:
Dalam Chrome 67 , new Date("1900-01-01T00:00:00").getTimezoneOffset() dikembalikan -150, menunjukkan zon waktu mengimbangi 2 jam dan 30 minit dari UTC, manakala penyemak imbas lain kembali -180 (UTC 3).
Penjelasan:
Perbezaan ini adalah disebabkan oleh perubahan dalam cara Chrome 67 mengendalikan data zon waktu bersejarah. Sebelum tahun 1919, zon waktu yang diimbangi di Eropah/Moscow ialah 2 jam 30 minit, bukan bilangan integer jam. Chrome 67 membundar ke sepanjang jam yang terdekat, menghasilkan pengimbangan -150 yang diperhatikan.
Kesan:
Ketidakkonsistenan boleh menjejaskan aplikasi yang bergantung pada sensitif zon waktu maklumat, terutamanya untuk tarikh sebelum 1970.
Penyelesaian:
Untuk mengurangkan isu ini, adalah disyorkan untuk mengubah suai kod untuk mengelakkan meminta maklumat zon waktu untuk tarikh sebelum 1970, sebagai pangkalan data zon waktu IANA mungkin tidak memberikan data yang tepat sepenuhnya untuk tempoh tersebut. Selain itu, adalah wajar mempertimbangkan potensi kesan perubahan ini pada kod sedia ada yang mungkin bergantung pada gelagat mengimbangi zon waktu sebelumnya dalam Chrome.
Atas ialah kandungan terperinci Mengapa Chrome 67 Mengembalikan Offset Zon Masa yang Tidak Tepat untuk Tarikh Pra-1970?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!