Mengatasi Isu "Tarikh Tidak Sah" dengan Safari
Coretan kod yang dibekalkan, yang cuba mencipta objek Tarikh daripada perwakilan rentetan, menghadapi kesukaran dalam Safari. Ini disebabkan oleh ketidakupayaan penyemak imbas untuk menghuraikan format tarikh tertentu dengan betul.
Pada mulanya, menggunakan format 'YYYY-MM-DD' (cth., '2010-11-29') berfungsi dengan baik dalam penyemak imbas lain seperti Chrome dan Firefox. Walau bagaimanapun, Safari mempamerkan ralat "tarikh tidak sah".
Dalam percubaan untuk menyelesaikan isu ini, kod telah diubah suai untuk mencuba format tarikh yang berbeza: 'MM-DD-YYYY', 'DD-MM-YYYY' , dan 'YYYY-DD-MM'. Malangnya, tiada satu pun daripada variasi ini terbukti berjaya dalam Safari.
Satu penyelesaian, walaupun dianggap agak berlebihan untuk isu kecil ini, adalah menggunakan pustaka penghuraian tarikh khusus seperti Moment.js atau Date-fns. Pustaka ini menyediakan keupayaan pengendalian tarikh yang mantap merentas penyemak imbas.
Sebagai alternatif, pendekatan yang lebih mudah ialah menggunakan ungkapan biasa untuk mengubah rentetan tarikh kepada format yang serasi dengan Safari:
console.log(new Date('2011-04-12'.replace(/-/g, "/")));
Dengan menggantikan tanda sempang (-) dengan garis miring ke hadapan (/), rentetan tarikh menjadi serasi dengan logik penghuraian tarikh Safari. Kaedah ini agak mudah dan berkesan tanpa memerlukan perpustakaan tambahan.
Atas ialah kandungan terperinci Bolehkah Safari Menghuraikan Tarikh dalam \'YYYY-MM-DD\' atau Format Alternatif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!