„JavaScript“ programa, skirta sukurti atgalinį laikmatį

Šiame pavyzdyje išmoksite rašyti „JavScript“ programą, kuri sukurs atgalinį laikmatį.

Norėdami suprasti šį pavyzdį, turite žinoti šias „JavaScript“ programavimo temas:

  • „JavaScript“ matematikos aukštas ()
  • „JavaScript“ data ir laikas
  • „Javascript“ rinkinys „Interval“ ()

Pavyzdys: sukurkite atgalinį laikmatį

 // 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 console.log(days + "d " + hours + "h " + minutes + "m " + seconds + "s "); // clearing countdown when complete if (timeLeft < 0) ( clearInterval(x); console.log('CountDown Finished'); ) ), 2000);

Rezultatas

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

Aukščiau pateiktoje programoje setInterval()metodas naudojamas laikmačiui sukurti.

setInterval()Metodas yra vykdomas tam tikru laiko intervalo (čia 2000 milisekundžių).

new Date()Suteikia esamą datą ir laiką. Pavyzdžiui,

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

getTime()Metodas grąžina milisekundžių nuo vidurnakčio skaičių sausio 1 1970 (ECMASCRIPT epochos) iki nurodytos datos (čia dabartinė data).

Šis kodas nurodo kitos dienos laiką milisekundėmis.

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

Dabar mes galime apskaičiuoti likusį laiką naudodami šią formulę:

 let timeLeft = countDownDate - now;

Likęs dienos skaičius apskaičiuojamas naudojant:

  • Laiko intervalas padalinamas iš 1000, kad būtų nustatytas sekundžių skaičius, ttimeLeft / 1000
  • Tuomet laiko intervalas padalinamas iš 60 * 60 * 24, kad būtų nustatytas likusių dienų skaičius.
  • Math.floor()Funkcija naudojama apvalinti skaičių iki sveikojo skaičiaus.

Panašūs metodai naudojami valandas, minutes ir sekundes.

Pastaba : taip pat galite naudoti pasirinktinį pradinį atskaitos laiką praleidę konkrečią datą.

Pavyzdžiui,

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

Įdomios straipsniai...