これは純粋なRubyソリューションです。
require 'date'
def first_day_of_week(min_days_from_now, day_of_week)
today = Date.today
days_until_day_of_week = (7 + day_of_week - today.wday) % 7
today + days_until_day_of_week +
7*(([min_days_from_now-days_until_day_of_week, 0].max/7.0).ceil)
end
今日は:
today = Date.today
#=> #<Date: 2016-03-31 ((2457479j,0s,0n),+0s,2299161j)>
wday = today.wday
#=> 4
Date::DAYNAMES[wday]
#=> "Thursday"
と仮定します。そして、
day_of_week = 3
Date::DAYNAMES[day_of_week]
#=> "Wednesday"
:あなたは何を
puts " # min_days_from_now date wday"
(0..14).each do |min_days_from_now|
fd = first_day_of_week(min_days_from_now, day_of_week)
puts " # %2d %s %d" % [min_days_from_now, fd.to_s, fd.wday]
end
# min_days_from_now date wday
# 0 2016-04-06 3
# 1 2016-04-06 3
# 2 2016-04-06 3
# 3 2016-04-06 3
# 4 2016-04-06 3
# 5 2016-04-06 3
# 6 2016-04-06 3
# 7 2016-04-13 3
# 8 2016-04-13 3
# 9 2016-04-13 3
# 10 2016-04-13 3
# 11 2016-04-13 3
# 12 2016-04-13 3
# 13 2016-04-13 3
# 14 2016-04-20 3
試してみましたか?私たちはあなたのコードをデバッグするのを助けてくれるでしょうが、私たちはあなたのためにそれを書くのではありません... –
ちょうど私が持っているものを加えました – user3335830