使用JS獲取兩個時間差(JS寫一個倒計時功能)
阿新 • • 發佈:2020-08-05
<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)) //計算出天數 //計算出小時數 varleave1=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() 方法可把一個數字四捨五入為最接近的整數。