获取本月第几周

function getMonthWeek(a, b, c) {
/**
* a = d = 当前日期
* b = 6 - w = 当前周的还有几天过完(不算今天)
* a + b 的和在除以7 就是当天是当前月份的第几周
*/
var date = new Date(a, parseInt(b) - 1, c),
w = date.getDay(),
d = date.getDate();
if(w==0){
w=7;
}
var config={
getMonth:date.getMonth()+1,
getYear:date.getFullYear(),
getWeek:Math.ceil((d + 6 - w) / 7),
}
return config;
};
var getDate=getMonthWeek("2018", "12", "31");
console.log("今天是 " + getDate.getYear + " 年的第 "+ getDate.getMonth + " 月的第 " + getDate.getWeek + " 周");

获取本年第几周

function getYearWeek (a, b, c) {//a为年 b为月 c为日
/*
date1是当前日期
date2是当年第一天
d是当前日期是今年第多少天
用d + 当前年的第一天的周差距的和在除以7就是本年第几周
*/
var date1 = new Date(a, parseInt(b) - 1, c),
date2 = new Date(a, 0, 1),
d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);
return Math.ceil((d + ((date2.getDay() + 1) - 1)) / 7);
};

结果如下

js实现获取当前时间是本月第几周和年的第几周的方法_当前日期