📌  相关文章
📜  JavaScript程序创建倒数计时器

📅  最后修改于: 2020-09-27 04:57:00             🧑  作者: Mango

在此示例中,您将学习编写一个JavScript程序,该程序将创建一个倒数计时器。

示例:创建倒数计时器
// 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 (distance < 0) {
        clearInterval(x);
        console.log('CountDown Finished');
    }
    }, 2000);

输出

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

在上面的程序中, setInterval()方法用于创建计时器。

setInterval()方法以给定的间隔时间(此处为2000毫秒)执行。

new Date()给出当前日期和时间。

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

getTime()方法返回从1970年1月1日午夜(EcmaScript纪元)到指定日期(此处为当前日期)的毫秒数。

以下代码以毫秒为单位给出了第二天的时间。

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

现在,我们可以使用以下公式计算剩余时间:

let timeLeft = countDownDate - now;

剩余天数的计算方法是:

  • 时间间隔除以1000即可确定秒数,即timeLeft / 1000
  • 然后将时间间隔除以60 * 60 * 24,以确定剩余的天数。
  • Math.floor() 函数用于将数字四舍五入为整数。

数小时,数分钟和数秒都使用类似的方法。


注意 :您还可以通过自定义开始日期来使用自定义开始倒数时间。

例如,

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