1. 程式人生 > 實用技巧 >使用JS獲取兩個時間差(JS寫一個倒計時功能)

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