Bagaimana untuk Menukar Rentetan dd-mm-yyyy dengan Selamat kepada Objek Tarikh JavaScript?

Susan Sarandon
Lepaskan: 2024-11-22 19:57:14
asal
317 orang telah melayarinya

How to Safely Convert a dd-mm-yyyy String to a JavaScript Date Object?

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]);
Salin selepas log masuk

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, "//"));
Salin selepas log masuk

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]);
}
Salin selepas log masuk

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);
};
Salin selepas log masuk

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!

sumber:php.cn
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