使用JS获取两个时间差(JS写一个倒计时功能)

<body onload="myFunction()">
<p id="demo"></p>
<script>
function myFunction(){
    var nowDate = new Date();
    var EndDate=new Date("2020-10-01 10:30:00")
    var dateDiff=EndDate.getTime()-nowDate.getTime();
    var days=Math.floor(dateDiff/(24*3600*1000)) //计算出天数 
        //计算出小时数 
        var leave1=dateDiff%(24*3600*1000)  //计算天数后剩余的毫秒数 
        var hours=Math.floor(leave1/(3600*1000)) 
        //计算相差分钟数 
        var leave2=leave1%(3600*1000)    //计算小时数后剩余的毫秒数 
        var minutes=Math.floor(leave2/(60*1000)) 
        //计算相差秒数 
        var leave3=leave2%(60*1000)   //计算分钟数后剩余的毫秒数 
        var seconds=Math.round(leave3/1000)
        //调用checkTime方法将数字小于10的在前面补0
       days=checkTime(days);
       hours=checkTime(hours);
       minutes=checkTime(minutes);
       seconds=checkTime(seconds);
        var x = document.getElementById("demo");
       x.innerHTML="剩余时间:"+days+""+hours+"小时"+minutes+"分钟"+seconds+"";
       t=setTimeout(function(){myFunction(),1000})
}
    function checkTime(i){
    if(i<10&&i!=0){
        i="0"+i;
    }
        return i;
    }
</script>

</body>    

思路:使用getTime()计算出两个时间的毫秒单位并相减得到以毫秒为单位的时间差,然后通过计算分别获取到对应的时分秒。

扩展:

Math.floor()方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。

Math.round() 方法可把一个数字四舍五入为最接近的整数。

posted @ 2020-08-05 09:32  墨染暖栀  阅读(1198)  评论(0编辑  收藏  举报
/* 看板娘 */ /* 粒子吸附*/