var d = new Date(); // 这是当天
d.setDate(1); // 这就是1号
var weekday = d.getDay(); // 1号星期几,从星期天为0开始
d.setMonth(d.getMonth() + 1);
d.setDate(0); // 这两句得到最当月最后一天
var end = d.getDate(); // 最后一天的日,比如8月就是31
var days = [];
for (var i = 0; i < end; i++) {
days[i] = {
day: i + 1,
week: (weekday + i) % 7
}
}
// 最后 days 就是你想要的数据
console.log(days);
来看看 HTML 中的效果
http://jsfiddle.net/gy8r6znw/
高亮当前日期的版本在这里
http://jsfiddle.net/gy8r6znw/1/
本月第一天
``
new Date(new Date().getTime() - (new Date().getDate() - 1) * 86400000).getDate()
``
之后就是加1天直到下个月
写得不好。