konversi tanggal javascript

Konversi Tanggal dengan JavaScript

Sering kali kita membutuhkan tanggal dalam sebuah data, baik untuk kebutuhan display saja atau untuk menghitung range hari. Nah tetapi tidak jarang juga format tanggal yang kita miliki tidak sesuai dengan yang diinginkan, misalnya dalam format internasional, milsanya “01 March 2023” atau “2023-03-01”.

Jika format tanggal yang kita dapatkan seperti itu, maka kita perlu melakukan konversi ke format yang kita inginkan. Hal ini dapat kita lakukan dengan membuat fungsi di Javascript

function konversiTanggal(tanggal) {
    let tanggalObj = new Date(tanggal);
    
    let tahun = tanggalObj.getFullYear();
    let bulan = String(tanggalObj.getMonth() + 1).padStart(2, '0');
    let hari = String(tanggalObj.getDate()).padStart(2, '0');
    
    return `${hari}-${bulan}-${tahun}`;
}

let tanggalAwal = "2023-12-01";
let tanggalAkhir = konversiTanggal(tanggalAwal);

console.log(tanggalAkhir); // Output: "01-12-2023"

Lalu untuk konversi dari format string, dapat kita lakukan dengan cara berikut

function konversiTanggalIndonesia(tanggal) {
    const namaBulan = ['Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'];

    let splitTanggal = tanggal.split(' ');
    let hari = parseInt(splitTanggal[0]);
    let bulan = namaBulan.indexOf(splitTanggal[1]) + 1;
    let tahun = parseInt(splitTanggal[2]);

    return `${String(hari).padStart(2, '0')}-${String(bulan).padStart(2, '0')}-${tahun}`;
}

let tanggalAwal = "1 Januari 2023";
let tanggalAkhir = konversiTanggalIndonesia(tanggalAwal);

console.log(tanggalAkhir); // Output: "01-01-2023"

Demikian, selamat mencoba 🙂