Bootstrap

JS:获取当前日期是本年度的第几周

问题

根据当前的日期(比如年月日),来得到当前日期属于本年度的第几周

解决

  • 代码:
// 获取当前日期是本年的第几周
//参数: 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))
  • 结果如下:
    在这里插入图片描述
;