0

Dateオブジェクトがあります

Mon, 03 Dec 2012

曜日の名前を含む文字列があります

"Thursday"

これらの2つのオブジェクトを使用して、元のDateオブジェクトと同じ週の曜日名を表す新しいDateオブジェクトを見つけるにはどうすればよいですか?したがって、この例では、

Thu, 07 Dec 2012

このシナリオでは、1週間は月曜日から日曜日になります。

Rails3.2.0とRuby1.9.3を使用しています。

4

3 に答える 3

0

これを行うためのより良い方法があると確信していますが、あなたはそれを行うことができます

def date_by_day(date, day_name)
  beginning_of_week = date.beginning_of_week
  7.times do |i|
    _date = beginning_of_week + i.days
    return _date if _date.strftime("%A") == day_name
  end
end
于 2012-11-21T08:55:15.987 に答える
0

これはうまく機能します。

def date_by_day(date, day_name)
  beginning_of_week = date.beginning_of_week
  day_number = Time::DAYS_INTO_WEEK[day_name.to_sym]
  return (beginnig_of_week + day_number.days)
end
于 2012-11-21T09:06:11.813 に答える