我正在寻找一种方法,它返回给定月份的所有天。我在标准 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' }[...]
就在每月 5 月的第一天(星期六,01)和最后一天(星期一,31)也很好。
最佳答案
您可以自己轻松完成此操作。 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;
}
关于javascript - 在 JS/Prototype 中获取一个月中的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2913843/