我正在寻找一种方法,它可以返回给定月份的所有日期。我在标准date() functions找不到任何有用的东西。
即:
getDays(2010-05) // returns something like:
{ day:'Saturday', date:'2010-01-05' },
{ day:'Sunday', date:'2010-02-05' },
{ day:'Monday', date:'2010-03-05' }[...]
这个月的第一天可能是(星期六,01),最后一天(星期一,31)也很棒。
答案 0 :(得分:3)
你可以很容易地做到这一点。 Javascript“Date”对象对于这样的事情是一个很好的帮助:
function listDays(monthNumber) {
var days = [],
today = new Date(),
d = new Date(today.getFullYear(), monthNumber, 1);
while (d.getMonth() == monthNumber) {
days.push({ "date": d.getDate(), "weekday": d.getDay()});
d.setDate(d.getDate() + 1);
}
return days;
}
这只会以月为单位返回月份中的日期,但通过一系列星期几名称可以很容易地扩展:
function listDays(monthNumber) {
var days = [],
today = new Date(),
d = new Date(today.getFullYear(), monthNumber, 1),
weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
while (d.getMonth() == monthNumber) {
days.push({ "date": d.getDate(), "weekday": weekdays[d.getDay()]});
d.setDate(d.getDate() + 1);
}
return days;
}