微信小程序--倒计时封装

在程序开发过程中,有时会用到倒计时,根据所给结束时间(例如:2018-10-01 00:00:00)算出剩余天数、时分秒,先总结的微信小程序的倒计时分享给大家!!

在后台异步返回结束时间时调用this.countDown(endTime)即可;

    data:{
        lastTime: '', //剩余时间
        endTimeText:'已结束',//结束文字
    }
    
    //参数endTime格式2018-10-01 00:00:00
   countDown(endTime) {
    let endTimeStr = endTime.toString();
    let endTimeNum = new Date(Date.parse(endTimeStr.replace(/-/g, "/"))).getTime();
    let self = this;
    let timer = setInterval(function() {
      let nowTime = new Date();
      let t = endTimeNum - nowTime.getTime();
      if (t > 0) {
        let day = Math.floor(t / 86400000);
        let hour = Math.floor((t / 3600000) % 24);
        let min = Math.floor((t / 60000) % 60);
        let sec = Math.floor((t / 1000) % 60);
        hour = hour < 10 ? `0${hour}` : hour;
        min = min < 10 ? `0${min}` : min;
        sec = sec < 10 ? `0${sec}` : sec;
        let format = '';
        if (day > 0) {
          format = `${day}${hour}${min}${sec}秒`;
        }
        if (day <= 0 && hour > 0) {
          format = `${hour}${min}${sec}秒`;
        }
        if (day <= 0 && hour <= 0) {
          format = `${min}${sec}秒`;
        }
        self.setData({
          lastTime: format
        });
      } else {
        clearInterval(timer);
        self.setData({
          lastTime: self.data.endTimeText,
        });
      }
    }, 1000);
  }
复制代码
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值