来週の月曜日(または曜日)の日付を取得する Ruby コード
概要
たとえば、次のような入力があるとします。
day = 'Monday'
次の日の日付を計算するにはどうすればよいですか?
def date_of_next(day)
...
end
解決策
require 'date'
def date_of_next(day)
date = Date.parse(day)
delta = date > Date.today ? 0 : 7
date + delta
end
Date.today
#=>#<Date: 2011-10-28 (4911725/2,0,2299161)>
date_of_next "Monday"
#=>#<Date: 2011-10-31 (4911731/2,0,2299161)>
date_of_next "Sunday"
#=>#<Date: 2011-10-30 (4911729/2,0,2299161)>