開始日を指定した場合、その年の特定の日のすべての日付を取得するアルゴリズム[または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
}
アデネオの答えに非常に似ています。私を打ちのめしましたが、それでも共有します。=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);