问题
根据当前的日期(比如年月日),来得到当前日期属于本年度的第几周
解决
- 代码:
// 获取当前日期是本年的第几周
//参数: a为年 b为月 c为日
function getYearWeek(a, b, c) {
var date1 = new Date(a, parseInt(b) - 1, c), //当前日期
date2 = new Date(a, 0, 1), //当年第一天
// d是当前日期是今年第多少天
d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);
// d + 当前年的第一天的周差距的和在除以7就是本年第几周
return Math.ceil((d + (date2.getDay() + 1 - 1)) / 7);
}
//测试
console.log(getYearWeek(2023, 11, 5))
console.log(getYearWeek(2023, 11, 6))
console.log(getYearWeek(2023, 11, 13))
console.log(getYearWeek(2023, 11, 20))
console.log(getYearWeek(2023, 11, 28))
- 结果如下: