js获取某一天是今年的第多少周

function getWeek(y,m,d) {
    let day1 = new Date(y, parseInt(m) - 1, d);
    let day2 = new Date(y, 0, 1);
    let day = Math.round((day1.valueOf() - day2.valueOf()) / 86400000);
    return Math.ceil((day + ((day2.getDay() + 1) - 1)) / 7)
}
 
getWeek(2019, 9, 27)

参数:

y:年份;

m:月份;

d:日。

day1 是将传入的参数转换成标准时间,day2 是将传入的年份的 1 月 1 号转换成标准时间;

day 是计算得出传入的日期和1 月 1 日相差多少天;

最后 return 的就是传入日期是当前年的第几周。

特别说明:(day2.getDay() + 1) - 1

一周有 2 种说法,一个是周一到周日算一周,一个是周日到周六算一周。

这里的 -1 就是自然周(周一到周日)算一周,不 -1 就是周日到周六算一周。

猜你喜欢

转载自www.cnblogs.com/web-record/p/12167053.html