使用js的date函数实现
思路//获取两个时间点,
//用先前封装好的求时间差的函数去除他们的时间差
//然后用字符串拼接在一起
封装求时间差函数
function diffTime(current,target){
var sub = Math.ceil ((current - target)/1000)
return {
day: parseInt(sub / (60 * 60 * 24)),
hours: parseInt(sub % (60 * 60 * 24) / 3600),
mintues: parseInt(sub % (60 * 60) / 60),
seconds: sub % 60
}
}
代码实现
//获取目标时间点
var target = new Date('2023-5-1 12:00:00')
// 打开计时器
var timer = setInterval(function () {
//获取当前时间
var current = new Date()
//用之前封装好的函数获取时间差
var diff = diffTime(target, current)
//用字符串把对应的数据连接起来
var str = `还有${diff.day}天${diff.hours}小时${diff.mintues}分钟${diff.seconds}秒`
//把div里显示的内容换成组装好的字符串
btn.innerHTML = str
//判断时间是否已经倒计完了
if (diff.day === 0 && diff.hours === 0 && diff.mintues === 0 && diff.seconds === 0) {
//关闭计时器
clearInterval(timer)
}
})