Tukar Rentetan dalam Format dd-mm-yyyy kepada Objek Tarikh dalam JavaScript
Dalam percubaan untuk menukar rentetan berformat dd-mm-yyyy ke dalam objek Tarikh, anda mungkin menghadapi ralat "Tarikh Tidak Sah" disebabkan kehadiran '-' simbol.
Penyelesaian 1: Pisah pada "-"
Pecahkan rentetan kepada komponen hari, bulan dan tahunnya:
var dateStr = $("#datepicker").val(); var dateParts = dateStr.split("-"); var date = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);
Penyelesaian 2: Gunakan Ungkapan Biasa (Regex)
Gunakan regex untuk mengekstrak komponen individu daripada rentetan:
var regex = /(\d{2})-(\d{2})-(\d{4})/; var date = new Date(dateStr.replace(regex, "//"));
Cadangan: Pisahkan pada "-"
Walaupun regex memberikan lebih fleksibiliti, pemisahan pada "-" disyorkan apabila menghuraikan rentetan format tetap kerana ia lebih mudah dan lebih cekap, terutamanya jika anda menggunakan semula logik penghuraian dalam berbilang bahagian anda kod.
Kebolehgunaan Semula dan JavaScript Moden
Untuk kebolehgunaan semula, anda boleh membalut logik penghuraian dalam fungsi:
function parseDate(dateStr) { var dateParts = dateStr.split("-"); return new Date(dateParts[2], dateParts[1] - 1, dateParts[0]); }
Dalam JavaScript moden, anda boleh menggunakan penstrukturan tatasusunan untuk memudahkan penghuraian:
const parseDate = (dateStr) => { const [day, month, year] = dateStr.split("-"); return new Date(year, month - 1, day); };
Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan dd-mm-yyyy dengan Selamat kepada Objek Tarikh JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!