js求指定时间的周一和周日

/*计算指定时间的的周一和周日
            return=>{mondy:Date,sundy:Date}
            parms:{
            date:指定时间,如果不指定则取当前时间
            }
            */
            function getWeekArea(date) {
                if (!(date instanceof Date)) {
                    date = new Date();
                }
                var day = date.getDay(), _date = date.getDate(),
                    mondy = _date - (day == 0 ? 7 : day) + 1,
                    t1 = new Date(date.getTime()),
                    t2 = new Date(date.getTime());
                t1.setDate(mondy);
                t2.setDate(mondy + 6);
                return { mondy: t1, sundy: t2 };
            }
            function fnSetWeek(week) {
                var weekArea = getWeekArea(), mondy = weekArea.mondy, sundy = weekArea.sundy, week = parseInt(week, 10);
                if (isNaN(week)) {
                    /*周一查上周的数据*/
                    var t = new Date(), day = t.getDay();
                    return fnSetWeek(day == 1 ? -1 : 0);
                } else {
                    mondy.setDate(mondy.getDate() + week * 7);
                    sundy.setDate(sundy.getDate() + week * 7);
                }
                startTime.val(mondy.formatDate(dateFormat));
                endTime.val(sundy.formatDate(dateFormat));
            }

 

转载于:https://www.cnblogs.com/lizhanglong/p/4112591.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要获取指定日期所在周的周一周日,可以使用 JavaScript 中的 Date 对象和相关方法。下面是一个获取指定日期所在周周一周日的示例代码: ```javascript function getWeekMondayAndSunday(dateString) { const date = new Date(dateString); const dayOfWeek = date.getDay(); // 0-6,0 表示星期日,1 表示星期一,依次类推 const offset = dayOfWeek === 0 ? -6 : 1; // 如果日期是星期日,偏移量为 -6,否则为 1 const monday = new Date(date.getTime() - (dayOfWeek - 1) * 24 * 60 * 60 * 1000); const sunday = new Date(date.getTime() + (7 - dayOfWeek) * 24 * 60 * 60 * 1000); return { monday: monday.toLocaleDateString(), sunday: sunday.toLocaleDateString() }; } // 示例使用 const { monday, sunday } = getWeekMondayAndSunday('2023-03-01'); console.log('周一:', monday); console.log('周日:', sunday); ``` 解释一下这段代码: 1. 首先将传入的日期字符串转换为 Date 对象。 2. 然后使用 Date 对象的 getDay() 方法获取传入日期所在的星期几,得到一个 0-6 的数字,其中 0 表示星期日,1 表示星期一,以此类推。 3. 计算从传入日期到周一的偏移量,如果传入日期是星期日,偏移量为 -6,否则为 1。 4. 用 Date 对象的 getTime() 方法获取传入日期的时间戳,然后根据偏移量计算出周一周日时间戳,最后将时间戳转换为 Date 对象。 5. 使用 toLocaleDateString() 方法将日期对象转换为本地字符串形式,返回包含周一周日的对象。 示例代码中假设传入的日期字符串格式为 'YYYY-MM-DD',如果格式不同,需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值