通过前端js获取指定年周的开始时间与结束时间(以周一为开始时间)

本文介绍了如何通过JavaScript在前端获取给定年份和周的开始和结束日期,以周一作为起始,确保日期范围准确计算。
摘要由CSDN通过智能技术生成

通过前端js获取指定年周的开始时间与结束时间(以周一为开始时间)


//入参格式:年-周

//截取:具体看入参格式

let year=2024;

let week=2;

let weekStartDate=new Date();

let weekEndDate=new Date();


// 创建一个Date对象,设置为指定年份的第一周的周日
let date = new Date(year, 0, 1); // 年份, 月份(0代表1月), 日期
let weekDay=date.getDay();
if(weekDay==0) weekDay=7;
if(weekDay!=1){

//若不是周一,则为去年最后周,需要取到下一年周一

date.setDate(date.getDate()+(7-weekDay)+1);

} 

date.setDate(date.getDate()+(week-1)*7);

weekStartDate=new Date(date);

weekEndDate=new Date(date.setDate(date.getDate()+6));

console.log(weekStartDate.getFullYear()+'-'+(weekStartDate.getMonth()+1)+'-'+weekStartDate.getDate()); // 输出格式为YYYY-M-D

console.log(weekEndDate.getFullYear()+'-'+(weekEndDate.getMonth()+1)+'-'+weekEndDate.getDate()); // 输出格式为YYYY-M-D

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laizhixue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值