JS获取传入日期的周一和周天

       // 获取传入日期的周一和周天
        self.GetDateOfWeek = function (datetime)
        {
            var now = new Date(datetime);
            var nowTime = now.getTime();
            var day = now.getDay();
            var oneDayLong = 24 * 60 * 60 * 1000;
            var MondayTime = nowTime - (day - 1) * oneDayLong;
            var SundayTime = nowTime + (7 - day) * oneDayLong;
            var monday = new Date(MondayTime);
            var strDate = monday.getDate()
            var sunday = new Date(SundayTime);
            var year = now.getFullYear();
            var month = now.getMonth() + 1;
            if (month >= 1 && month <= 9) {
                month = "0" + month;
            }
            if (strDate >= 0 && strDate <= 9) {
                strDate = "0" + strDate;
            }
            var seperator1 = "-";
          
            return year + seperator1 + month + seperator1 + strDate;
           

        }



获取指定日期所在周的周一周日,可以使用 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、付费专栏及课程。

余额充值