来週の今日、再来週の今日、…の日付を出力する

今日を起点にして、来週の今日(つまり7日後)、さ来週の今日(つまり14日後)、…を指定した回数繰り返すRubyスクリプト。以下では10週後までを表示しています。

weeks = 10
start = Date.today
start.step(start + 7 * weeks, 7) do |date|
  puts date
end

実行結果です。

2007-06-08
2007-06-15
2007-06-22
2007-06-29
2007-07-06
2007-07-13
2007-07-20
2007-07-27
2007-08-03
2007-08-10
2007-08-17
  • 今日の日付はDate.todayで得られる。
  • Date#step(limit, days)で、limitの日まで(limitを含む)、days日刻みで繰り返す。