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

アデネオの答えに非常に似ています。私を打ちのめしましたが、それでも共有します。=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 に答える