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

Bagaimana untuk Menukar Rentetan \'dd-mm-yyyy\' kepada Objek Tarikh JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-11-23 13:56:14649semak imbas

How to Convert

Menukar Rentetan dd-mm-yyyy kepada Objek Tarikh dalam JavaScript

Tugas yang ada ialah menukar rentetan dalam format "dd -mm-yyyy" ke objek Tarikh menggunakan JavaScript. Fungsi Date(string) baru gagal apabila mencuba penukaran ini kerana kehadiran simbol '-'. Untuk mengatasi cabaran ini, beberapa penyelesaian disediakan.

1. Pisahkan pada "-"

Satu pendekatan ialah memisahkan rentetan kepada tiga komponennya: hari, bulan dan tahun. Ini boleh dicapai menggunakan kaedah split("-"):

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

2. Gunakan Ungkapan Biasa

Ungkapan biasa boleh digunakan untuk mengekstrak hari, bulan dan tahun daripada rentetan:

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

3. Refactor into a Function

Jika penukaran diperlukan beberapa kali, adalah dinasihatkan untuk mencipta fungsi boleh guna semula:

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

Fungsi ini boleh digunakan seperti berikut:

var from = $("#datepicker").val();
var f = toDate(from);

4. JavaScript Moden (ES6)

Dalam ES6, pemusnahan tatasusunan boleh digunakan untuk mengekstrak komponen:

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\' 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