Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menukar Rentetan dd-mm-yyyy dengan Amanah kepada Objek Tarikh JavaScript?

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

Barbara Streisand
Barbara Streisandasal
2024-11-19 13:16:02425semak imbas

How to Reliably Convert dd-mm-yyyy Strings to JavaScript Date Objects?

Tukar Rentetan dd-mm-yyyy kepada Tarikh

Dalam JavaScript, menukar rentetan dalam format dd-mm-yyyy kepada objek tarikh adalah mudah, tetapi pertimbangan tertentu mesti diambil.

Isu dengan Penukaran Terus

Apabila menggunakan Date(string) baharu dengan rentetan dd-mm-yyyy, anda boleh menghadapi ralat "Tarikh Tidak Sah". Ini kerana simbol '-' tidak dikenali sebagai pemisah tarikh.

Penyelesaian

1. Pisah pada "-":

Pisah rentetan kepada bahagian komponennya dan bina objek tarikh secara manual:

var from = $("#datepicker").val().split("-")
var f = new Date(from[2], from[1] - 1, from[0])

2. Gunakan Ungkapan Biasa:

Gunakan ungkapan biasa untuk mengekstrak komponen tarikh:

var date = new Date("15-05-2018".replace( /(\d{2})-(\d{2})-(\d{4})/, "//"))

3. Cipta Fungsi Boleh Guna Semula:

Untuk kemudahan, bungkus logik penukaran dalam fungsi boleh guna semula:

function toDate(dateStr) {
  var parts = dateStr.split("-")
  return new Date(parts[2], parts[1] - 1, parts[0])
}

4. JavaScript Moden:

Jika anda mempunyai akses kepada ciri JavaScript moden, manfaatkan pemusnahan tatasusunan:

const toDate = (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 Amanah kepada Objek Tarikh JavaScript?. 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