获取本周的开始日期和结束日期

需求:日历中,点击某一天,判断这一天是否在本周内

1.首先获取本周的开始时间和结束时间

data(){
    return {
          datearr: {
        weekstartdate: "",
        weekenddate: "",
      },
      Dateweekdata: {},
      currentWeektime: {
        starttime: "",
        endtime: "",
      },
    }
}   

 getMonday(type, dates) {
      // 新的获取周的起止时间
      let now = new Date();
      let nowTime = now.getTime();
      let day = now.getDay();
      let longTime = 24 * 60 * 60 * 1000;
      let n = longTime * 7 * (dates || 0);
      let dd = null;
      if (type == "s") {
        dd = nowTime - (day - 1) * longTime + n;
      }
      if (type == "e") {
        dd = nowTime + (7 - day) * longTime + n;
      }
      dd = new Date(dd);
      let y = dd.getFullYear();
      let m = dd.getMonth() + 1;
      let d = dd.getDate();
      m = m < 10 ? "0" + m : m;
      d = d < 10 ? "0" + d : d;
      let days = y + "-" + m + "-" + d;
      return days;
    },


    setWeekDay() {
      //  设置本周起止时间
      let data = {};
      data.startDate = this.getMonday("s", 0);
      data.endDate = this.getMonday("e", 0);
      this.Dateweekdata = data;
      // console.log(this.Dateweekdata, "----------Dateweekdata");
    },


    // 获取本周时间
    getweekdate() {
      let dateinfo = this.Dateweekdata;
      this.datearr.weekstartdate = dateinfo.startDate;
      this.datearr.weekenddate = dateinfo.endDate;
      // console.log(this.datearr, "--------------本周时间");

//这里使用getTime()方法是为了换成时间戳,和点击的那天去比较
      this.currentWeektime.starttime = new Date(
        this.datearr.weekstartdate
      ).getTime();
      this.currentWeektime.endtime = new Date(
        this.datearr.weekenddate
      ).getTime();
      // console.log(this.currentWeektime, "-this.currentWeektime");
    },

2.判断点击的时间是否在本周之内

//row.mydate是点击那天的时间,换算成时间戳 
let currentday = new Date(row.mydate).getTime();
//判断是否小于等于结束时间,且大于等于开始时间,如果是,是本周内的时间,否则不是本周内的时间;
      if (
        currentday <= this.currentWeektime.endtime &&currentday >= this.currentWeektime.starttime
      ) {
        
       //xxxxxxx去做处理
        
      } else {
               //xxxxxxx去做处理
      }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值