在一些电商网站的流动页上会经常出现折扣商品的倒计时标记,显示离流动完结还剩x天x小时X分X秒,像这样的倒计时成果就能够利用日期对象来实现。
倒计时的外围算法是输人的工夫减去当初的工夫,得出的剩余时间就是要显示的倒计时工夫,这须要把工夫都转化成工夫戳(毫秒数)来进行计算,把失去的毫秒数转换为天数、小时、分数、秒数。具体示例代码如下。

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>JavaScript倒计时代码|黑马程序员web前端培训高手班 http://web.itheima.com</title>    <style>        body{            background-color: #f5f5f5;        }        p{            margin: 100px auto;            width: 500px;            text-align: center;            font-weight: 700;            font-size: 16px;            background-color: yellow;        }    </style></head><body>    <div>        <p id="t"></p>    </div></body><script>    // 倒计时函数    function countDown(time) {        var nowTime = +new Date();        var inputTime = +new Date(time);        var times = (inputTime - nowTime) / 1000;        var d = parseInt(times / 60 / 60 / 24);        d = d < 10 ? '0' + d : d;        var h = parseInt(times / 60 / 60 % 24);        h = h < 10 ? '0' + h : h;        var m = parseInt(times / 60 % 60);        m = m < 10 ? '0' + m : m;        var s = parseInt(times % 60);        s = s < 10 ? '0' + s : s;        return d + '天' + h + '时' + m + '分' + s + '秒';    }    // 设置终止工夫    time = '2021-11-30 10:57:56';    //  设置定时器1秒运行1次    window.setInterval(function(){        time1 = countDown(time);        let pTime = document.getElementById('t');        pTime.innerHTML = time1;    }, 1000);</script></html>

上述代码中,第2行的+new Date()是new Date().getTime()代码的简写,返回以后工夫戳,单位是毫秒。第3行代码是设置流动的完结工夫戳。第4行代码计算残余毫秒数,须要转换为秒数,转换规则为1秒/1000毫秒。第5~13行代码计算天数小、小时h、分时m、秒数s,并应用return返回。 第16行代码输入间隔指定完结日期2021-11-30 10:57:56还剩多少工夫。

代码运行成果如下:

相干文章:
Math对象的罕用办法有哪些?如何应用?
JavaScript中let和var和const有什么区别?
javascript开发工具有哪些?