如果我们给它一个开始日期,是否有一种算法[或javascript代码]可以获取一年中特定日期的所有日期?
例如:
输入:2012 年 12 月 11 日,星期二。
输出:2012 年 12 月 18 日、2012 年 12 月 25 日、2013 年 1 月 1 日 .... 等。
如果我们给它一个开始日期,是否有一种算法[或javascript代码]可以获取一年中特定日期的所有日期?
例如:
输入:2012 年 12 月 11 日,星期二。
输出:2012 年 12 月 18 日、2012 年 12 月 25 日、2013 年 1 月 1 日 .... 等。
它能有多难?
var d1 = new Date('Tuesday , Dec, 11 2012');
for (var i = 0; i < 365; i += 7) {
d1.setDate(d1.getDate() + 7)
console.log(d1); //outputs every tuesday for the next year
}
与adeno的回答非常相似。打败我,但我仍然会分享它。=p
var getDaysInYear = function(day, year) {
var startDate = new Date(day + " " + year);
var date = startDate;
var dates = [];
while (date.getFullYear() == year) {
dates.push(date.toDateString()); // change this to change the output
date.setTime(date.getTime() + 1000 * 7 * 24 * 60 * 60);
}
return dates;
};
// Returns an array of whatever is in dates.push().
var dates = getDaysInYear("Tuesday", 2013);
console.log(dates);