Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menukar Rentetan dd-mm-yyyy kepada Objek Tarikh JavaScript?

Bagaimanakah Saya Boleh Menukar Rentetan dd-mm-yyyy kepada Objek Tarikh JavaScript?

DDD
Lepaskan: 2024-11-19 22:43:02
asal
807 orang telah melayarinya

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

Tukar Rentetan dd-mm-yyyy kepada Tarikh

Ketidakupayaan untuk menghuraikan rentetan dd-mm-yyyy ke dalam objek tarikh yang sah menggunakan Pembina Tarikh JavaScript terutamanya disebabkan oleh kehadiran simbol '-', yang tidak dikenali oleh pembina. Untuk mengatasinya, pendekatan alternatif diperlukan.

Penyelesaian: Pisahkan pada "-"

Satu penyelesaian ialah membelah rentetan kepada komponen individunya menggunakan '-' simbol sebagai pembatas dan kemudian buat objek Tarikh baharu menggunakan nilai hari, bulan dan tahun:

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

Penyelesaian: Gunakan Regex

Ekspresi biasa juga boleh digunakan untuk mengekstrak komponen tarikh individu dan membina rentetan tarikh yang sah:

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

Cadangan: Pisah pada "-"

Sementara kedua-dua pendekatan adalah sah, Kaedah "split on -" boleh dikatakan lebih khusus dan cekap untuk tugasan tertentu ini, kerana ia menyasarkan secara langsung format rentetan input yang diketahui tanpa bergantung pada padanan regex yang berpotensi lebih kompleks.

Kebolehgunaan semula

Jika penukaran ini dilakukan beberapa kali dalam kod, adalah dinasihatkan untuk merangkumnya dalam fungsi untuk kebolehgunaan semula dan kebolehselenggaraan:

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

Menggunakan fungsi:

var f = toDate($("#datepicker").val())
var t = toDate($("#datepickertwo").val())
Salin selepas log masuk

JavaScript Moden

Untuk persekitaran JavaScript moden, penstrukturan tatasusunan boleh memudahkan kod:

const toDate = (dateStr) => {
  const [day, month, year] = dateStr.split("-")
  return new Date(year, month - 1, day)
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Rentetan dd-mm-yyyy 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan