Contoh: Buat Penghitung Waktu Mundur

// program to create a countdown timer

// time to countdown from (in milliseconds)
let countDownDate = new Date().getTime() + 24 * 60 * 60 * 1000;

// countdown timer
let x = setInterval(function() {

    // get today's date and time in milliseconds
    let now = new Date().getTime();

    // find the interval between now and the countdown time
    let timeLeft = countDownDate - now;

    // time calculations for days, hours, minutes and seconds
    const days = Math.floor( timeLeft/(1000*60*60*24) );
    const hours = Math.floor( (timeLeft/(1000*60*60)) % 24 );
    const minutes = Math.floor( (timeLeft/1000/60) % 60 );
    const seconds = Math.floor( (timeLeft/1000) % 60 );

    // display the result in the element with id="demo"
    console.log(days + "d " + hours + "h " + minutes + "m " + seconds + "s ");

    // clearing countdown when complete
    if (timeLeft < 0) {
        clearInterval(x);
        console.log('CountDown Finished');
    }
    }, 2000);

Keluaran

0d 23h 59m 57s 
0d 23h 59m 55s 
0d 23h 59m 53s 
0d 23h 59m 51s 
...

Pada program di atas, setInterval() metode yang digunakan untuk membuat timer.

Itu setInterval() metode dieksekusi pada interval waktu tertentu (di sini, 2000 milidetik).

Itu new Date() memberikan tanggal dan waktu saat ini. Sebagai contoh,

let d1 = new Date();
console.log(time); // Fri Aug 28 2020 09:19:40 GMT+0545 (+0545)

Itu getTime() metode mengembalikan jumlah milidetik dari tengah malam 1 Januari 1970 (EcmaScript zaman) ke tanggal yang ditentukan (di sini, tanggal saat ini).

Kode berikut memberikan waktu hari berikutnya dalam milidetik.

new Date().getTime() + 24 * 60 * 60 * 1000;

Sekarang, kita dapat menghitung waktu yang tersisa menggunakan rumus berikut:

let timeLeft = countDownDate - now;

Jumlah hari yang tersisa dihitung dengan menggunakan:

  • Selang waktu dibagi dengan 1000 untuk menentukan jumlah detik, yaitu timeLeft / 1000
  • Interval waktu kemudian dibagi dengan 60*60*24 untuk menentukan jumlah hari yang tersisa.
  • Itu Math.floor() fungsi yang digunakan untuk membulatkan bilangan menjadi bilangan bulat.

Metode serupa digunakan untuk jam, menit, dan detik.


Catatan: Anda juga dapat menggunakan waktu hitung mundur mulai khusus dengan melewatkan tanggal tertentu.

Sebagai contoh,

let countDownDate = new Date("Aug 5, 2025 14:22:36").getTime();