/**
* 计算思路
* 时间差 = 期限时间 - 当前时间
* 天数 = 时间差 / 一天的时间(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);
}
复制代码