使用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() 方法可把一個數字四舍五入為最接近的整數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM