头图

方法一:
<template>
<div>剩余支付时间:{{count}}</div>
</template>
<script>
export default {

data() {
    return {
        count: '', //倒计时
        seconds: 864000 // 10天的秒数
    }
},
mounted() {
    this.Time() //调用定时器
},
methods: {
    // 天 时 分 秒 格式化函数
    countDown() {
        let d = parseInt(this.seconds / (24 * 60 * 60))
        d = d < 10 ? "0" + d : d
        let h = parseInt(this.seconds / (60 * 60) % 24);
        h = h < 10 ? "0" + h : h
        let m = parseInt(this.seconds / 60 % 60);
        m = m < 10 ? "0" + m : m
        let s = parseInt(this.seconds % 60);
        s = s < 10 ? "0" + s : s
        this.count = d + '天' + h + '时' + m + '分' + s + '秒'
    },
    //定时器没过1秒参数减1
    Time() {
        setInterval(() => {
            this.seconds -= 1
            this.countDown()
        }, 1000)
    },
}

}
</script>
时间的秒数可以根据自己的需求进行修改

再为大家分享一段代码:vue时分秒倒计时
countTime: function () {

    //获取当前时间
    var date = new Date();
    var now = date.getTime();
    //设置截止时间
    var endDate = new Date("2018-10-22 23:23:23");
    var end = endDate.getTime();
    //时间差
    var leftTime = end - now;
    //定义变量 d,h,m,s保存倒计时的时间
    if (leftTime >= 0) {
                d = Math.floor(leftTime / 1000 / 60 / 60 / 24);
                this.h = Math.floor(leftTime / 1000 / 60 / 60 % 24);
                this.m = Math.floor(leftTime / 1000 / 60 % 60);
                this.s = Math.floor(leftTime / 1000 % 60);
     }
      console.log(this.s);
      //递归每秒调用countTime方法,显示动态时间效果
        setTimeout(this.countTime, 1000);

}

方法二
1首先,是两个div用来显示我们的剩余支付时间
<div style="font-size: 14px;color: #666;">剩余支付时间(超时自动关闭)</div>
<div class="time"> {{min}}分钟 {{sec}}秒 </div>
2然后,是倒计时函数countdown
//倒计时
countdown () {

  const end = Date.parse(new Date('2020-05-05 03:59:23'))
  const now = Date.parse(new Date())
  const msec = end - now

  console.log(msec)
  if(msec<0) return;

  let day = parseInt(msec / 1000 / 60 / 60 / 24)
  let hr = parseInt(msec / 1000 / 60 / 60 % 24)
  let min = parseInt(msec / 1000 / 60 % 60)
  let sec = parseInt(msec / 1000 % 60)
  this.day = day
  this.hr = hr > 9 ? hr : '0' + hr
  this.min = min > 9 ? min : '0' + min
  this.sec = sec > 9 ? sec : '0' + sec
  const that = this
  if(min>=0 && sec>=0){
    //倒计时结束关闭订单
    if(min==0 && sec==0){

      return
    }
    setTimeout(function () {
      that.countdown()
    }, 1000)
  }
}

3最后,在mounted里事先执行countdown方法
mounted () {
this.countdown()
}


心之所向向往自由
1 声望0 粉丝

你为何如此普通却又如此自信