本文最后更新于 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
},