通过前端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