获取当前周和前一周周一和周天,下一周周一和周天

   需求场景:页面默认进来拿到本周数据。如下图要展示周一到周天,点击上一周切换上一周数据,可以一直点击上一周。或者下一周。

获取本周周一到周天的数据

methods: {
      getWeekTime: function () {
        let now = new Date(); 
        let nowTime = now.getTime();
        let day = now.getDay();
        let oneDayLong = 24 * 60 * 60 * 1000;
        let MondayTime = nowTime - (day - 1) * oneDayLong;
        let SundayTime = nowTime + (7 - day) * oneDayLong;
        let monday = new Date(MondayTime);
        let strDate = monday.getDate()
        let sunday = new Date(SundayTime);
        let endDate = sunday.getDate();
        let year = now.getFullYear();
        let month = now.getMonth() + 1;
        if (month >= 1 && month <= 9) month = "0" + month;
        if (strDate >= 0 && strDate <= 9) strDate = "0" + strDate;
        let seperator1 = "-";
        // 周一
        this.startTime = year + seperator1 + month + seperator1 + strDate;
        // 周天
        this.endTime = year + seperator1 + month + seperator1 + endDate;
      },
}

获取上一周的周一到周天

 1 lastWeekDate: function (data) {
 2 //      获取当前日期
 3         let now = new Date();
 4 //      获取当月的第几天
 5         let day = now.getDate();
 6         /**
 7          * 上个周的今天(获取今天的前data天的日期)
 8          * 例如 data = 7;
 9          * day = 今天是10号
10          * setDate(10-7)即设置为今天的前7天
11          */
12         let ss = new Date(now.setDate(day - data));
13         /** ss是今天的前7天的多少号
14          *  ss.getDay()是ss号的周几,
15          *  例如今天是周四
16          * 要计算到上周的周一,(周四距离周一是三天),即ss.getDay()-1 = 4-1 = 3;
17          * days = 3天;
18          */
19         let days = ss.getDay() - 1;
20         /**
21          * days在这里视为距离周一的时间
22          * 设置为周一的日期
23          */
24         let start = new Date(ss.setDate(ss.getDate() - days));
25         let _start = new Date(start);
26         let end = _start.setDate(_start.getDate() + 6);
27         return `${start.getFullYear()}-${start.getMonth() + 1}-${start.getDate()}/${end.getFullYear()}-${end.getMonth() + 1}-${end.getDate()}`
28       },

调用lastWeekDate方法

LastWeek() { this.dataTime += 7; console.log(this.lastWeekDate(this.dataTime)); },

 

转载于:https://www.cnblogs.com/cuixiaohua/p/10269077.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值