Tukar tarikh daripada rentetan kepada format tarikh jenis input
P粉587780103
P粉587780103 2023-09-05 21:31:29
0
1
552
<p>Saya mempunyai jenis input HTML "datetime-local" yang kemudiannya saya simpan dalam medan datetime dalam pangkalan data MS SQL Server. Apabila saya memuatkan halaman edit, saya ingin mengisi medan tarikh HTML ini dengan nilai daripada pangkalan data. Apabila saya menghiburkan nilai tarikh, ia adalah: "Selasa, 16 Mei 2023 15:40:00 GMT+0200 (Waktu Piawai Afrika Selatan)". Adakah sesiapa yang berjaya menggunakan Javascript untuk menukar rentetan seperti ini kepada format input tarikh HTML yang boleh diterima? </p>
P粉587780103
P粉587780103

membalas semua(1)
P粉788765679

Js mempunyai kaedah terbina dalam yang boleh anda gunakan untuk mengendalikan tarikh.

Dalam contoh di bawah saya:

  • Tukar rentetan input kepada objek Tarikh menggunakan kaedah Date.
  • Ekstrak tahun daripada objek Tarikh menggunakan kaedah getFullYear.
  • Ekstrak bulan daripada objek Tarikh menggunakan kaedah getMonth.
    • Memandangkan kaedah getMonth mengembalikan indeks bulan berasaskan sifar (Januari = 0, Februari = 1, dsb.), kita perlu melakukan perkara berikut: keputusan + 1.
    • Tukar bulan kepada rentetan.
    • Gunakan kaedah padStart untuk memastikan rentetan bulan adalah 2 aksara panjang. Contoh: Jika nilai diekstrak = 1, maka bulan = 01.
  • Ekstrak tarikh daripada objek Tarikh menggunakan kaedah getDay.
    • Tukar tarikh kepada rentetan.
    • Gunakan kaedah padStart untuk memastikan rentetan tarikh adalah 2 aksara panjang. Contoh: Jika nilai diekstrak = 1, maka tarikh = 01.
  • Formatkan tarikh supaya sesuai dengan format input HTML.
  • Ganti nilai elemen HTML dengan nilai yang kami ekstrak.

const input = "Tue May 19 2024 15:40:00 GMT+0200 (South Africa Standard Time)";
const inputDate = new Date(input);

const year = inputDate.getFullYear();
const month = (inputDate.getMonth() + 1).toString().padStart(2, "0");
const day = inputDate.getDate().toString().padStart(2, "0");

const formattedDate = `${year}-${month}-${day}`;
const datePicker = document.getElementById('datePicker');
datePicker.value = formattedDate;
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <input type="date" id="datePicker" value="">
</body>

</html>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan