传入未来的一个时间,输出距离该时间还剩下多久。
const endDate = '2024/07/07 01:01:01' // 结束时间
// 补0操作
const handleText = (num) => {
if (num < 10) {
return '0' + num
}
return num
}
// 倒计时方法
const countTime = () => {
let text = ''
const nowTime = new Date().getTime() // 获取当前时间戳
const toTime = new Date(endDate) // 获取指定时间的时间戳
const differTime = toTime - nowTime // 差值毫秒
if (differTime > 0) { // 未来时间
const day = Math.floor(differTime / 1000 / 60 / 60 / 24) // 天数
const hh = Math.floor(differTime / 1000 / 60 / 60 % 24) // 小时
const mm = Math.floor(differTime / 1000 / 60 % 60) // 分钟
const ss = Math.floor(differTime / 1000 % 60) // 秒
text = `${ handleText(day) } 天 ${ handleText(hh) } 时 ${ handleText(mm) } 分 ${ handleText(ss) } 秒`
} else {
text = '00 天 00 时 00 分 00 秒'
clearInterval(timer)
}
console.log(`距离${endDate}还剩下:${text}`)
}
countTime() // 先执行一下
const timer = setInterval(countTime, 1000); // 定义倒计时