如果我们给出了一个开始日期,是否有一个算法[或javascript代码]可以获得当年特定日的所有日期?
例如:
输入:2012年12月11日,星期二。
输出:2012年12月18日,2012年12月25日,2013年1月1日......等等。
答案 0 :(得分:5)
它有多难?
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
}
答案 1 :(得分:2)
非常类似于adeneo的回答。打败我,但我仍然会分享它。 = 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);