欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

js毫秒倒计时

程序员文章站 2022-04-22 08:43:31
...
刷新时间也不一定就是50毫秒最好,但是考虑到人的肉眼识别能力,刷新频率太快也没啥意义,另外,我们应该考虑到两种需求情况:1.现在距离将来某一时间还有多久;2.从过去某一时间到现在已经经历了多久。
<div id="timeB"></div>
<script type="text/javascript">
    function countDown(endTime, startTime = new Date()) {//为了满足一些特殊情况这里给一个开始时间的参数并附上默认值,一般情况只需要传入结束时间即可
        let date = endTime - startTime; //时间差  
        let mmsec = date % 1000 //所余毫秒数  
        let seconds = Math.floor(date / 1000 % 60); //所余秒数  
        let minutes = Math.floor(date / 1000 / 60 % 60); //所余分钟数  
        let hour = Math.floor(date / 1000 / 60 / 60 % 24); //所余时钟数  
        let day = Math.floor(date / 1000 / 60 / 60 / 24); //天数  
        return {
            day: day
            , hour: hour
            , minutes: minutes
            , seconds: seconds
            , mmsec: mmsec
        }
    }
    const timeB = document.querySelector('#timeB');
    //开启定时器
    setInterval(() => {
        let time = countDown(new Date(2016, 8, 1));//只需要传入结束时间
        timeB.innerHTML = "距离2016年9月1号00点还有" + time.day + "天" + time.hour + "小时" + time.minutes + '分钟' + time.seconds + '秒' + time.mmsec + "毫秒";
    }, 50);
</script>