实现代码
function week (ymd) {
var week = new Date (Date .parse(ymd.replace(/\-/g , "/" )));
var w = week.toString().substring(0 , 3 );
var yymm = new Date (ymd.substring(0 , 4 ), ymd.substring(5 , 7 ), 0 );
var day = yymm.getDate();
var dd = 1 ;
switch (w) {
case "Mon" : dd = 0 ; break ;
case "Tue" : dd = 1 ; break ;
case "Wed" : dd = 2 ; break ;
case "Thu" : dd = 3 ; break ;
case "Fri" : dd = 4 ; break ;
case "Sat" : dd = 5 ; break ;
case "Sun" : dd = 6 ; break ;
}
var aw = 5 ;
if (day == 28 && dd == 0 ) {
aw = 4 ;
}
for (var i = 0 ; i < aw; i++) {
var start = i * 7 + 1 - dd;
var end = i * 7 + 7 - dd;
if (start < 1 ) {
start = 1 ;
}
if (end > day) {
end = day;
}
var str = ("第" + (i + 1 ) + "周 <" + ymd.substring(5 , 7 ) + "月" + start + "号—" + ymd.substring(5 , 7 ) + "月" + end + "号>" ).toString();
console.log(str);
}
}
调用
week("2017-11-01" );
结果