Rumah  >  Artikel  >  hujung hadapan web  >  Ketidakkonsistenan Penghuraian Tarikh Safari: Mengapa Ia Mentafsir Tarikh Secara Berbeza?

Ketidakkonsistenan Penghuraian Tarikh Safari: Mengapa Ia Mentafsir Tarikh Secara Berbeza?

Susan Sarandon
Susan Sarandonasal
2024-10-21 17:47:02624semak imbas

Safari Date Parsing Inconsistencies: Why Does It Interpret Dates Differently?

Safari Mentafsir Tarikh Secara Berbeza: Memahami Isu

Tarikh ialah elemen asas dalam pengaturcaraan dan bekerja dengannya secara lancar merentas penyemak imbas adalah penting. Walau bagaimanapun, apabila menggunakan tarikh dalam Safari, anda mungkin menghadapi ketidakkonsistenan yang boleh membawa kepada ralat yang membingungkan.

Satu senario sedemikian timbul apabila menggunakan pembina Date() baharu untuk mencipta objek tarikh daripada rentetan. Contohnya, dalam coretan kod berikut:

<code class="javascript">alert(new Date('2010-11-29'));</code>

Semasa penyemak imbas Chrome dan Firefox mengendalikan rentetan ini dengan betul, Safari melemparkan ralat "tarikh tidak sah". Tingkah laku pelik ini telah menyebabkan ramai pembangun menggaru kepala mereka.

Menyingkap Percanggahan Penghuraian Tarikh

Untuk mendedahkan punca isu ini, mari kita periksa variasi dalam rentetan tarikh menghurai. Anda mungkin telah cuba menukar komponen hari dan bulan dalam rentetan, seperti:

<code class="javascript">alert(new Date('11-29-2010')); //doesn't work in Safari
alert(new Date('29-11-2010')); //doesn't work in Safari
alert(new Date('2010-29-11')); //doesn't work in Safari</code>

Malangnya, pelarasan ini juga tidak menghasilkan kejayaan dalam Safari.

Penyelesaian untuk Hindari Salah Tafsiran Safari

Semasa memfaktorkan semula kod anda untuk melaksanakan perpustakaan tarikh alternatif mungkin terbukti menarik, penyelesaian yang lebih mudah wujud. Pertimbangkan satu pelapik berikut:

<code class="javascript">console.log (new Date('2011-04-12'.replace(/-/g, "/")));</code>

Dalam coretan ini, sempang bermasalah dalam rentetan tarikh digantikan dengan garis miring ke hadapan. Dengan menggunakan penggantian ini, Safari mentafsir rentetan dengan betul, menyelesaikan ralat "tarikh tidak sah".

Pendekatan ini menawarkan penyelesaian ringkas dan bertoleransi pelayar, menghapuskan keperluan untuk penyepaduan perpustakaan yang kompleks atau operasi regex yang tidak cekap.

Atas ialah kandungan terperinci Ketidakkonsistenan Penghuraian Tarikh Safari: Mengapa Ia Mentafsir Tarikh Secara Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn