js实现中国人习惯的周期

          class handleTime {
//通过传入的week参数来实现第几周   比如传入0  表示本周   1下周   -1上一周
            getWeekDate(week) {} 
// 得到周一
            getMon(){}
             
// 得到周日
            getSun()     
        }

getWeekDate()

        getWeekDate(week) {
                let start = new Date();
                let end = new Date();
                start.setDate(start.getDate() + 7 * week);   //看你要获取几周后的数据  0表示本周 1 表示下周
                end.setDate(end.getDate() + 7 * week);
                let monday = this.getMon(start);
                let sunday = this.getSat(end);
                
                let Suyear = sunday.getFullYear()
                let Sumonth = sunday.getMonth() + 1
                let Suday = sunday.getDate()
                console.log(1)
                Sumonth = String(Sumonth)
                if (Sumonth.length === 1) {
                    Sumonth = '0' + Sumonth
                }
                Suday = String(Suday)
                if (Suday.length === 1) {
                    Suday = '0' + Suday
                }
                let Moyear = monday.getFullYear()
                let Momonth = monday.getMonth() + 1
                let Moday = monday.getDate()
                Momonth = String(Momonth)
                if (Momonth.length === 1) {
                    Momonth = '0' + Momonth
                }
                Moday = String(Moday)
                if (Moday.length === 1) {
                    Moday = '0' + Moday
                }
                let sundayNum = Suyear + '-' + Sumonth + '-' + Suday
                let mondayNum = Moyear + '-' + Momonth + '-' + Moday
                return `${mondayNum} ~ ${sundayNum}`
            }
        getSat(date) {
                if (date.getDay() !== 0) {
                    date.setDate(date.getDate() + 7 - date.getDay());
                }
                return date
            }
        getMon(date) {
                if (date.getDay() === 0) {
                    date.setDate(date.getDate() - 6);
                }
                else {
                    date.setDate(date.getDate() - date.getDay() + 1);
                }
                return date
            }

来验证一下

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值