Mengapa Safari Bergelut dengan Tarikh dalam Format \'2010-11-29\'?

Mary-Kate Olsen
Lepaskan: 2024-10-21 17:53:32
asal
263 orang telah melayarinya

Why Does Safari Struggle with Dates in '2010-11-29' Format?

Safari's Date Parsing Quirks

Mengapa Safari membuang ralat "tarikh tidak sah" apabila menemui tarikh dalam format seperti '2010-11-29 ', manakala penyemak imbas lain mengendalikan tarikh ini tanpa masalah? Tingkah laku yang tidak konsisten ini boleh mengecewakan pembangun web.

Punca masalahnya terletak pada tafsiran Safari tentang sempang (-) dalam rentetan tarikh. Walaupun kebanyakan penyemak imbas mengiktiraf sempang sebagai pemisah tarikh, Safari tersilap menganggapnya sebagai sebahagian daripada tarikh itu sendiri, yang membawa kepada pengiraan tarikh yang salah.

Untuk menggambarkan, cuba percubaan menghuraikan rentetan berikut:

alert(new Date('2010-29-11')); // Doesn't work in Safari
alert(new Date('29-11-2010')); // Doesn't work in Safari
alert(new Date('11-29-2010')); // Doesn't work in Safari
Salin selepas log masuk

Seperti yang anda lihat, Safari gagal menghuraikan tarikh ini dengan betul, tanpa mengira susunan komponen.

Semasa menggunakan pustaka berasingan seperti Moment.js atau date-fns mungkin menjadi pilihan untuk mengurangkan isu ini, penyelesaian yang lebih mudah tersedia. Dengan hanya menggantikan sempang dengan garis miring (/), Safari boleh mentafsir rentetan tarikh dengan betul:

console.log(new Date('2011-04-12'.replace(/-/g, "/")));
Salin selepas log masuk

Pembetulan satu baris ini memastikan Safari boleh menghuraikan tarikh dalam format yang dijangkakan, membenarkan aplikasi web memaparkan dan memanipulasi tarikh secara konsisten merentas berbilang penyemak imbas.

Atas ialah kandungan terperinci Mengapa Safari Bergelut dengan Tarikh dalam Format \'2010-11-29\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!