0

如果我们给它一个开始日期,是否有一种算法[或javascript代码]可以获取一年中特定日期的所有日期?

例如:

输入:2012 年 12 月 11 日,星期二。

输出:2012 年 12 月 18 日、2012 年 12 月 25 日、2013 年 1 月 1 日 .... 等。

4

2 回答 2

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
}

小提琴

于 2012-12-11T09:45:35.843 回答
2

与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);

小提琴

于 2012-12-11T09:51:41.800 回答