倒计时
本文最后更新于 2024-07-26,文章内容可能已经过时。
countDown2 () {
// 确定结束时间的时间戳 1666627199000 this.endTime
let inputTime = this.endTime
// 获取当前时间的时间戳(单位毫秒)
let nowTime = +new Date()
// 把剩余时间毫秒数转化为秒
let times = (inputTime - nowTime) / 1000
// if (times < 0) {
// this.isShow = 1
// clearTimeout(this.timer)
// this.timer = ''
// console.log('此处应该结束倒计时', this.timer)
// return
// }
// 计算还有多少天
let y = parseInt(times / 60 / 60 / 24)
// 如果天数小于 10,要变成 0 + 数字的形式
let day = y < 10 ? "0" + y : y
// 计算小时数
let h = parseInt((times / 60 / 60) % 24)
// 如果小时数小于 10,要变成 0 + 数字的形式
let hour = h < 10 ? "0" + h : h
// 计算分钟数
let m = parseInt((times / 60) % 60)
// 如果分钟数小于 10,要变成 0 + 数字的形式
let minute = m < 10 ? "0" + m : m
// 计算秒数
let s = parseInt(times % 60)
// 如果秒钟数小于 10,要变成 0 + 数字的形式
let second = s < 10 ? "0" + s : s
// 赋值给 timed 用于页面显示
this.timed = day + "天" + hour + "时" + minute + "分" + second + "秒"
// 分别获取天、时、分、秒的个位和十位,33 代码行合并至 13 行代码
let timeArr = [day, hour, minute, second]
this.d2 = this.getDoubleDigits(timeArr[0])
this.h2 = this.getDoubleDigits(timeArr[1])
this.m2 = this.getDoubleDigits(timeArr[2])
this.s2 = this.getDoubleDigits(timeArr[3])
console.log('🚀 ~ countDown2 ~ timed:', this.timed)
console.log('🚀 ~ countDown2 ~ d2:', this.d2)
console.log('🚀 ~ countDown2 ~ h2:', this.h2)
console.log('🚀 ~ countDown2 ~ m2:', this.m2)
console.log('🚀 ~ countDown2 ~ s2:', this.s2)
// setTimeout 倒计时 1 秒调用一次方法
this.timer = setTimeout(() => {
this.countDown2()
}, 1000)
},
getDoubleDigits (timeStr) {
//将字符串转换为数组
let timeArr = timeStr.toString().split('')
console.log('🚀 ~ timeArr :', timeArr)
if (timeArr[1] === '-') {
return 0
}
return timeStr
},
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果