vue,javascript实现页面日期倒计时功能

日期倒计时在日常项目中还是比较常用的,活动、自动完成时间,拼团等场景比较常见,所以把自己项目中用到分享一下,具体看下方源码:
代码比较简化,方便大家参考使用:

  /**
   * 日期倒计时
   *  @param date 如:2020-08-20 18:00:00
   */
  timeCountDown(date, callback = () => {}){
    var time = '';
    const formatNumber = (n)=>{
      n = n.toString();
      return n[1] ? n : '0' + n;
    };
    const setTime = ()=>{
      const leftTime = new Date(date.replace(/\-/g, '/')) - new Date();
      if (leftTime >= 0) {
        const d = Math.floor(leftTime / 1000 / 60 / 60 / 24),
            h = Math.floor(leftTime / 1000 / 60 / 60 % 24),
            m = Math.floor(leftTime / 1000 / 60 % 60),
            s = Math.floor(leftTime / 1000 % 60);
        time = `${ d > 0 ? d + '天' : '' }${ [h, m, s].map(formatNumber).join(':') }`;
        callback(time, () => clearInterval(timer));
      } else {
        time = '已超时'
        callback(time, () => clearInterval(timer));
        return
      }
    };
    const timer = setInterval(() => {
      setTime()
    }, 1e3);
  },

使用方式:(我是vue的案例,其他的可自行修改即可)


//计算倒计时
  timeCountDown() {
     const date = "2020-08-20 18:00:00"
       this.$utils.timeCountDown(date, (value,clear)=>{
           this.countTime = value;
           this.$once('hook:beforeDestroy', clear);
       })
  },

另外一个以前写的原生js案例:多个日期时间倒计时效果

源码会持续更新到公众号,需要可以关注一下哦…

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值