JS 倒计时 获取本周周六或者周日10点

倒计时 获取本周周六或者周日10点

在utils里面封装一个方法 tims.js

function countdown() {
  let _date = new Date();
  // 获取当天的时间在这里插入代码片
  let _nowTime = _date.getTime();
  // 获取当天星期几
  let _week = _date.getDay();
  // 设置一天的时长
  let _dayLongTime = 24 * 60 * 60 * 1000;
  // 获取周六周日距离现在还有多少毫秒
  let Sunday = _nowTime + (7 - _week) * _dayLongTime;
  let Saturday = _nowTime + (6 - _week) * _dayLongTime;
  // 将毫秒数转为date对象
  Sunday = new Date(Sunday);
  const Y = Sunday.getFullYear() + '-';
  const M = (Sunday.getMonth() + 1 < 10 ? '0' + (Sunday.getMonth() + 1) : Sunday.getMonth() + 1) + '-';
  const D = (Sunday.getDate() < 10 ? '0' + Sunday.getDate() : Sunday.getDate()) + '  ';
  const dateString = Y + M + D + '10:00:00';
  
  // 定义结束时间戳
  const end = Date.parse(new Date`在这里插入代码片`(dateString));
  // console.log(end);
  // 定义当前时间戳
  const now = Date.parse(new Date());
  // 做判断当倒计时结束时都为0
  if (now >= end) {
    this.day = 0;
    this.hr = 0;
    this.min = 0;
    this.sec = 0;
    return;
  }
  // 用结束时间减去当前时间获得倒计时时间戳
  const msec = end - now;
  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;
  //定义this指向
  const that = this;
  // 使用定时器 然后使用递归 让每一次函数能调用自己达到倒计时效果
  setTimeout(function () {
    that.countdown();
  }, 1000);
}

export default countdown

在你需要引入的页面使用

在这里插入图片描述

调用

在这里插入图片描述

渲染

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值