获取特定日期的所有年份日期

时间:2012-12-11 09:30:20

标签: javascript algorithm date getdate

如果我们给出了一个开始日期,是否有一个算法[或javascript代码]可以获得当年特定日的所有日期

例如:

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

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

2 个答案:

答案 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
}

FIDDLE

答案 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);

FIDDLE