Menghitung selisih hari antara dua tanggal berguna untuk menghitung umur, sisa hari menuju tenggat, atau durasi langganan. Artikel ini membahas cara menghitung selisih dua tanggal di JavaScript.
Selisih dalam Hari
<script>
const awal = new Date("2026-07-01");
const akhir = new Date("2026-07-10");
const selisihMs = akhir - awal;
const hari = selisihMs / (1000 * 60 * 60 * 24);
console.log(hari); // 9
</script>
Saat dua objek Date dikurangi, hasilnya dalam milidetik. Bagi dengan jumlah milidetik per hari.
Contoh Kasus: Hitung Mundur Menuju Acara
<script>
const acara = new Date("2026-12-31");
const sekarang = new Date();
const sisa = Math.ceil((acara - sekarang) / (1000 * 60 * 60 * 24));
console.log("Tersisa " + sisa + " hari menuju acara");
</script>
Contoh Kasus: Menghitung Umur
<script>
function hitungUmur(lahir) {
const diff = Date.now() - new Date(lahir).getTime();
return Math.floor(diff / (1000 * 60 * 60 * 24 * 365.25));
}
console.log(hitungUmur("1998-05-20"));
</script>
Kesimpulan
Untuk selisih tanggal, kurangi dua objek Date lalu bagi dengan milidetik per hari (86400000). Bungkus dengan Math.ceil() atau Math.floor() sesuai kebutuhan hitung mundur atau umur.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi JavaScript (MDN).

