一、代码思路
1、使用倒计时需要先了解一个时间转换观念
1s = 1000ms
2、定义一个现在的时间
let now = new Data() //获取现在的时间
//获取的时间是毫秒,就是从1970-01-01 08:00:00 到现在为止的毫秒数
3、定义一个获取倒计时函数,声明一个现在的时间,和未来的时间,并将毫秒转换为秒数
function countTime(times) {
let now = new Date()
let furter = new Date(times)
let seconds = parseInt((furter.getTime() - now.getTime()) / 1000)
}
4、秒和天、十、分、秒的转换公式为
day = parseInt(seconds / 60 /60 /24)
hour = parseInt(seconds / 60 /60 %24)
minutes = parseInt(seconds / 60 %60 )
second = parseInt(seconds %60)
5、将所得的秒数转换成天,时,分,秒,并且做补零操作,
使用三元运算符,在天,时,分,秒小于0的时候,给数字前加一个0,使用字符串拼接
let day = parseInt(seconds / 60 / 60 / 24)
day = day < 10 ? '0' + day : day
let hour = parseInt((seconds / 60 / 60) % 24)
hour = hour < 10 ? '0' + hour : hour
let minutes = parseInt((seconds / 60) % 60)
minutes = minutes < 10 ? '0' + minutes : minutes
let second = parseInt((seconds / 60) % 60)
second = second < 10 ? '0' + second : second
二、具体代码
<script>
function countTime(times) {
let now = new Date()
let furter = new Date(times)
let seconds = parseInt((furter.getTime() - now.getTime()) / 1000)
let day = parseInt(seconds / 60 / 60 / 24)
day = day < 10 ? '0' + day : day
let hour = parseInt((seconds / 60 / 60) % 24)
hour = hour < 10 ? '0' + hour : hour
let minutes = parseInt((seconds / 60) % 60)
minutes = minutes < 10 ? '0' + minutes : minutes
let second = parseInt((seconds / 60) % 60)
second = second < 10 ? '0' + second : second
return `距离现在${day}天${hour}小时${minutes}分钟${second}秒`
}
let st = countTime('2023-05-01')
console.log(st)
</script>