//根据年月获取该月有几周并且每周的日期
function getWeeksAndDate(year, month) {
var d = new Date();
// 该月第一天
d.setFullYear(year, month - 1, 1);
var w1 = d.getDay();
if (w1 == 0) w1 = 7;
// 该月天数
d.setFullYear(year, month, 0);
var dd = d.getDate();
// 第一个周一
let d1;
if (w1 != 1) d1 = 7 - w1 + 2;
else d1 = 1;
let week_count = Math.ceil((dd - d1 + 1) / 7); //每月有几周
for(var weekday=1;weekday<=week_count;weekday++){
var monday = d1 + (weekday - 1) * 7;
var sunday = monday + 6;
var from = year + "-" + month + "-" + monday;
var to;
if (sunday <= dd) {
to = year + "-" + month + "-" + sunday;
} else {
d.setFullYear(year, month - 1, sunday);
let days = d.getDate();
to = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + days;
}
console.log(weekday + " 从" + from + " 到 " + to + "");
}
}
//获取每月有几周(注:从第一个周一开始算该月第一周)
function getWeeks(year, month) {
var d = new Date();
// 该月第一天
d.setFullYear(year, month - 1, 1);
var w1 = d.getDay();
if (w1 == 0) w1 = 7;
// 该月天数
d.setFullYear(year, month, 0);
var dd = d.getDate();
// 第一个周一
let d1;
if (w1 != 1) d1 = 7 - w1 + 2;
else d1 = 1;
let week_count = Math.ceil((dd - d1 + 1) / 7);
return week_count;
}
//根据年月周获取该周从周一到周日的日期
function getWeekTime(year, month, weekday) {
var d = new Date();
// 该月第一天
d.setFullYear(year, month - 1, 1);
var w1 = d.getDay();
if (w1 == 0) w1 = 7;
// 该月天数
d.setFullYear(year, month, 0);
var dd = d.getDate();
// 第一个周一
let d1;
if (w1 != 1) d1 = 7 - w1 + 2;
else d1 = 1;
var monday = d1 + (weekday - 1) * 7;
var sunday = monday + 6;
var from = year + "-" + month + "-" + monday;
var to;
if (sunday <= dd) {
to = year + "-" + month + "-" + sunday;
} else {
d.setFullYear(year, month - 1, sunday);
let days = d.getDate();
to = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + days;
}
console.log(weekday + " 从" + from + " 到 " + to + "");
}