JS判断给定日期是当年的第几周

 handleYearWeek (date) {
                var _this = this,
                    d1 = new Date(date),
                    curDay = new Date(date).getDay(),
                    d2 = new Date(date);

                d2.setMonth(0); //设置月为1月
                d2.setDate(1);  //设置为1号

                var rq = d1-d2,
                    days = Math.ceil(rq/(24*60*60*1000)),  //获取天数
                    num = d2.getDay() == 0 ? 0: d2.getDay(), //如果1月1号是星期日,则不用加
                    num1  = days + num,
                    weekDay = Math.ceil(num1/7);  //向上取整
                
                //判断一周中是否跨年
                if (new Date(_this.yearWeek.valueOf() + ((7 - curDay) * 24 * 60 * 60 * 1000)).getFullYear() != d1.getFullYear()) {
                    _this.form.year = new Date(_this.yearWeek.valueOf() + ((7 - curDay) * 24 * 60 * 60 * 1000)).getFullYear();
                    _this.form.week = 1;
                } else {
                    _this.form.year = date.format('yyyy');
                    _this.form.week = weekDay;
                }
                _this.search();
            },

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值