/**
* 計算思路
* 時間差 = 期限時間 - 當前時間
* 天數 = 時間差 / 一天的時間(60秒 x 60分鐘 x 24小時) 注意:(取整,小數部分給 小時 來計算)
* 小時 = 時間差 減去 天數的時間,剩下的時間除以 小時(60秒 x 60分) 注意:(取整,小數部分給 分鐘 來計算)
* 分鐘 = 時間差 減去 天數加小時的時間, 剩下的時間除以 分鐘 (60秒)
*/
function filterDeadline(time) {
let deadlineDate = new Date(time).getTime()
let newDate = Date.now()
let getTime = parseInt((deadlineDate - newDate)/1000);
if (getTime < 0) {
return ` 0 天 0 時 0 分 `
}
let day = parseInt(getTime/3600/24); // 天數
let hour = parseInt((getTime - (day*3600*24))/3600) // 小時
let minute = parseInt((getTime - ((day*3600*24) + hour*3600))/60) // 分鐘
function checkTime(time){
return time = time < 10 ? `0${time}` : time
}
return ` ${checkTime(day)} 天 ${checkTime(hour)} 時 ${checkTime(minute)} 分 `
}
複製代碼
使用方法 這是設置三十秒執行一次bash
window.onload = function() {
setInterval(() => {
filterDeadline(Date.now()+84630000)
}, 3000);
}
複製代碼