Ubah format tanggal dari string dalam javascript

Terkadang diperlukan untuk mengubah string menjadi format tanggal. String dapat berupa nilai tanggal yang disimpan sebagai string dalam database atau nilai yang dikembalikan dari API. Dalam kasus apa pun, nilai string ini tidak dapat langsung digunakan dalam pemilih tanggal atau tanggal tipe input. Oleh karena itu, string perlu diubah menjadi objek tanggal untuk ditampilkan di UI HTML. Berada dalam format string, tidak mungkin melakukan operasi khusus tanggal. Karenanya kita perlu mengonversi string menjadi objek tanggal. Di sini kami mencantumkan beberapa cara untuk mengonversi string menjadi tanggal

  • new Date()
  • Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
    Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
    Invalid Date
    Invalid Date
    
    0
  • Pisahkan dan konversikan ke Tanggal

Cara yang paling umum digunakan untuk mengonversi string menjadi tanggal adalah dengan fungsi new Date(). new Date()_ mengambil argumen dalam berbagai bentuk yang dijelaskan di bawah ini tetapi mengembalikan objek tanggal

  1. Tidak ada parameter sebagai argumen. new Date()_ akan mengembalikan tanggal dan waktu sistem saat ini, termasuk informasi zona waktu dalam waktu sistem lokal, jika tidak ada parameter yang diteruskan ke fungsi new Date()
  2. Melewati objek tanggal sebagai argumen. new Date()_ akan mengembalikan objek tanggal seperti yang digambarkan oleh string tanggal yang diteruskan sebagai argumen
  3. Melewati tanggal string. Bagian yang paling menarik dari fungsi
    Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
    Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
    Invalid Date
    Invalid Date
    
    _6 adalah dapat mengonversi tanggal yang diteruskan dalam format string sebagai argumen menjadi format tanggal. Kami akan membahas ini secara rinci

Saat kami meneruskan tanggal dalam format string ke new Date(), itu diubah menjadi objek tanggal. Format string harus

Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
Invalid Date
Invalid Date
_8, format ISO 8601, agar bisa berfungsi. Format tanggal lainnya tidak dapat dikonversi ke objek tanggal dengan metode ini. Sebagai contoh, lihat kode sebagai berikut

new Date("2021-05-23");
new Date("2020/2/29");
new Date("2020-14-03");
new Date("14-02-2021");

Keluaran

Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
Invalid Date
Invalid Date

Seperti yang Anda lihat dari contoh di atas, satu-satunya format string yang diterima untuk tanggal adalah

Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
Invalid Date
Invalid Date
9 dan
Date.parse("2020-11-21")
Date.parse("2019-01-01T12:30:00.000Z")
Date.parse("20-11-2021")
Date.parse("11-20-2021")
0. Fungsi new Date()_ dapat memproses string dalam format
Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
Invalid Date
Invalid Date
8 atau
Date.parse("2020-11-21")
Date.parse("2019-01-01T12:30:00.000Z")
Date.parse("20-11-2021")
Date.parse("11-20-2021")
3. Jika kami memiliki format string berbeda yang tidak sesuai dengan standar ISO 8601, new Date() tidak akan dapat mengurai tanggal dan akan kembali sebagai
Date.parse("2020-11-21")
Date.parse("2019-01-01T12:30:00.000Z")
Date.parse("20-11-2021")
Date.parse("11-20-2021")
5

  • new Date() dapat digunakan untuk mengonversi string menjadi tanggal hanya jika memenuhi format ISO 8601
    Date.parse("2020-11-21")
    Date.parse("2019-01-01T12:30:00.000Z")
    Date.parse("20-11-2021")
    Date.parse("11-20-2021")
    
    7
  • Untuk format berbeda yang tidak dapat dipahami oleh new Date(), lebih baik memisahkan string dan meneruskannya sebagai argumen ke dalam new Date(), seperti yang akan diperkenalkan nanti di artikel ini
  • new Date() juga dapat mengonversi string format
    1605916800000
    1546345800000
    NaN
    1637346600000
    
    1 atau bahkan
    1605916800000
    1546345800000
    NaN
    1637346600000
    
    2. Jika kita menggunakan nilai yang diteruskan dari backend melalui API untuk konversi, kita harus memastikan bahwa format yang diteruskan seperti yang dipahami oleh fungsi new Date(), dan ada baiknya memeriksa apakah new Date() mengembalikan objek tanggal yang valid. Jika tidak, kode dapat rusak

Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
Invalid Date
Invalid Date
0 adalah opsi alternatif untuk mengonversi tanggal string. Ini mengembalikan nilai numerik, bukan objek tanggal. Oleh karena itu akan membutuhkan pemrosesan lebih lanjut jika Anda mengharapkan objek tanggal. Itu mengubah tanggal yang diuraikan menjadi angka yang mewakili milidetik yang telah berlalu sejak 1-Jan-1970 waktu tengah malam. Ini mirip dengan format stempel waktu dengan perbedaan bahwa alih-alih detik,
Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
Invalid Date
Invalid Date
0 mengembalikan nilai milidetik

Date.parse("2020-11-21")
Date.parse("2019-01-01T12:30:00.000Z")
Date.parse("20-11-2021")
Date.parse("11-20-2021")
_

Keluaran

1605916800000
1546345800000
NaN
1637346600000

Patut dicatat bahwa

Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
Invalid Date
Invalid Date
_0 sama dengan ________ 48 _______ dalam hal jenis nilai input yang dapat diterimanya tetapi menawarkan pemeriksaan tangan yang lebih baik jika tanggal memiliki format yang valid. Metode seperti itu berguna, terutama saat kita berurusan dengan nilai respons API. Dalam kasus tersebut, kami mungkin perlu melakukan pemeriksaan untuk memastikan nilai yang dikembalikan oleh backend sesuai dengan format tanggal yang diterima oleh
Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
Invalid Date
Invalid Date
0 atau bahkan fungsi new Date(). Hanya pemeriksaan
let stringsFromAPI = ["2020-11-21", "20-11-2021"];

stringsFromAPI.forEach( (d) => {
    if (!isNaN(Date.parse(d))) {
        console.log(new Date(d));
    }    
})
_1 yang dapat membantu mengidentifikasi dan dengan aman menggunakan metode konversi tanggal

let stringsFromAPI = ["2020-11-21", "20-11-2021"];

stringsFromAPI.forEach( (d) => {
    if (!isNaN(Date.parse(d))) {
        console.log(new Date(d));
    }    
})

Keluaran

Sat Nov 21 2020 05:30:00 GMT+0530 (India Standard Time)

Perhatikan bahwa di sini tanggal

let stringsFromAPI = ["2020-11-21", "20-11-2021"];

stringsFromAPI.forEach( (d) => {
    if (!isNaN(Date.parse(d))) {
        console.log(new Date(d));
    }    
})
_2 berformat
let stringsFromAPI = ["2020-11-21", "20-11-2021"];

stringsFromAPI.forEach( (d) => {
    if (!isNaN(Date.parse(d))) {
        console.log(new Date(d));
    }    
})
3. Oleh karena itu, itu tidak akan dipahami oleh fungsi
Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
Invalid Date
Invalid Date
0 atau oleh fungsi new Date(). Oleh karena itu jika
let stringsFromAPI = ["2020-11-21", "20-11-2021"];

stringsFromAPI.forEach( (d) => {
    if (!isNaN(Date.parse(d))) {
        console.log(new Date(d));
    }    
})
_6 adalah nilai yang berasal dari backend, maka fungsi di atas hanya akan mengonversi tanggal yang sesuai dengan format yang dapat diterima.
let stringsFromAPI = ["2020-11-21", "20-11-2021"];

stringsFromAPI.forEach( (d) => {
    if (!isNaN(Date.parse(d))) {
        console.log(new Date(d));
    }    
})
_7 diam-diam menolak nilai tanggal yang tidak tepat dan mencatat nilai yang berhasil dalam konversi

  • Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
    Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
    Invalid Date
    Invalid Date
    
    0 mirip dengan new Date() kecuali untuk tipe pengembalian, yang membuatnya cocok untuk memeriksa apakah nilai tanggal memiliki format yang benar dan juga dapat digunakan untuk menetapkan tanggal dengan menggunakan
    Sat Nov 21 2020 05:30:00 GMT+0530 (India Standard Time)
    
    0
  • Dibandingkan dengan Cap Waktu Unix,
    Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
    Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
    Invalid Date
    Invalid Date
    
    0 mengembalikan milidetik yang dapat digunakan untuk perbandingan presisi tanggal bahkan tanpa mengubahnya menjadi objek tanggal sebenarnya dengan new Date()
  • Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
    Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
    Invalid Date
    Invalid Date
    
    0 secara internal menggunakan new Date() untuk penguraian tanggal, maka format yang diterima oleh fungsi new Date() juga akan didukung dalam fungsi
    Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
    Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
    Invalid Date
    Invalid Date
    
    0

Pisahkan String dan Konversikan ke Tanggal dalam JavaScript

Fungsi

Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
Invalid Date
Invalid Date
0 dan new Date() dirancang berdasarkan format tanggal diperpanjang ISO 8601. Terkadang, jika tanggal tidak sesuai dengan format yang diharapkan, kita harus menyelesaikannya secara manual dengan memisahkan string tanggal, mengekstrak nilai, dan mengonversinya menjadi objek tanggal. Anehnya, new Date() juga mendukung parameter tanggal untuk diteruskan sebagai argumen, dan kita mendapatkan objek tanggal sebagai keluaran

Sintaks untuk membuat tanggal dari argumen

new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)

Di mana,

  • new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
    
    0. Harus sesuai dengan format ISO 8061 YYYY. Misalnya, 2021. Jika kami menentukan nilai dalam format
    new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
    
    1, itu akan salah. Misalnya, hanya menyebutkan 21 untuk
    new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
    
    2 akan dianggap sebagai 1921, bukan 2021
  • new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
    
    _3. Dimulai dengan indeks 0. Oleh karena itu, kurangi 1 dari nilai Bulan. Misalnya, untuk bulan Maret, nilainya adalah 3, tetapi
    new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
    
    4 akan menjadi 2 (i. e. 3-1 = 2). Indeks bulan biasanya terletak pada kisaran
    new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
    
    5
  • new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
    
    _6. Menunjukkan hari dalam sebulan. Itu harus berada di kisaran 1-31, tergantung pada jumlah hari dalam sebulan. Sebagai contoh. untuk 21-05-2021, nilai hari adalah 21
  • new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
    
    _7. Jam hari ini. Misalnya jam 10
  • new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
    
    _8. Menit lewat satu jam
  • new Date(yearValue, IndexOfMonth, dayValue, hours, minutes, seconds)
    
    _9. Menyimpan nilai detik lebih dari satu menit

Berikut ini adalah fungsi yang mengambil string yang memiliki format tanggal khusus -

function convertFromStringToDate(responseDate) {
    let dateComponents = responseDate.split('T');
    let datePieces = dateComponents[0].split("-");
    let timePieces = dateComponents[1].split(":");
    return(new Date(datePieces[2], (datePieces[1] - 1), datePieces[0],
                         timePieces[0], timePieces[1], timePieces[2]))
}

convertFromStringToDate("21-03-2020T11:20:30")
0 dan mengembalikan objek tanggal

function convertFromStringToDate(responseDate) {
    let dateComponents = responseDate.split('T');
    let datePieces = dateComponents[0].split("-");
    let timePieces = dateComponents[1].split(":");
    return(new Date(datePieces[2], (datePieces[1] - 1), datePieces[0],
                         timePieces[0], timePieces[1], timePieces[2]))
}

convertFromStringToDate("21-03-2020T11:20:30")

Keluaran

Sat Mar 21 2020 11:20:30 GMT+0530 (India Standard Time)

Kesimpulan

Fungsi new Date() yang paling umum digunakan cukup berguna untuk mengonversi tanggal string menjadi objek tanggal, asalkan string sesuai dengan format ISO 8601. Dibandingkan dengan new Date(), fungsi

Sun May 23 2021 05:30:00 GMT+0530 (India Standard Time)
Sat Feb 29 2020 00:00:00 GMT+0530 (India Standard Time)
Invalid Date
Invalid Date
0 berbeda dalam cara mengembalikan nilai numerik yang berisi milidetik sejak 1 Januari 1970 yang berlalu hingga tanggal disahkan sebagai argumen string. Format tanggal yang berbeda dapat dikonversi dengan memisahkan string tanggal dan meneruskan komponen tanggal sebagai argumen ke fungsi new Date()

Bagaimana cara mengonversi tanggal string ke format tanggal dalam JavaScript?

Anda dapat Mengonversi nilai tanggal dari String ke Tanggal dalam JavaScript menggunakan kelas `Date()`` . Anda juga bisa menggunakan parse, yang merupakan metode statis dari kelas Date. Anda juga dapat membagi tanggal string yang diberikan menjadi tiga bagian yang mewakili tanggal, bulan, dan tahun lalu mengubahnya menjadi format Tanggal.

Bagaimana cara mengonversi tanggal string menjadi yyyy

Cara paling sederhana untuk mengonversi tanggal Anda ke format yyyy-mm-dd, adalah dengan melakukan ini. var date = new Date("Minggu 11 Mei 2014"); . getTime() - (tanggal. getTimezoneOffset() * 60000 )). ke ISOString(). split("T")[0];

Bagaimana cara mengonversi string ke format tanggal?

Mari kita lihat kode sederhana untuk mengonversi String menjadi Tanggal di java. .
impor jawa. teks. SimpleDateFormat;
impor jawa. utilitas. Tanggal;
kelas publik StringToDateExample1 {
public static void main(String[] args)throws Pengecualian {
Tali sDate1="31/12/1998";
Tanggal date1=New SimpleDateFormat("dd/MM/yyyy"). mengurai(sDate1);

Bagaimana Anda mengubah string menjadi MM dd yyyy?

string strDate = DateTime. Sekarang. ToString("MM/dd/yyyy");