Rumah  >  Soal Jawab  >  teks badan

Tukar tarikh daripada rentetan kepada format tarikh jenis input

<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粉587780103P粉587780103409 hari yang lalu508

membalas semua(1)saya akan balas

  • P粉788765679

    P粉7887656792023-09-06 19:51:15

    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>

    balas
    0
  • Batalbalas