0

私の顧客は毎月第2月曜日にイベントを開催しています。

カレンダーで赤でマークする必要があります。

その月曜日の日付を「きれいに」見つけるにはどうすればよいですか?

4

2 に答える 2

2

これが私のバージョンです。

月の8番目が月曜日の場合、それは2番目の月曜日です。月曜日でない場合、次の月曜日まで何日ですか?

oct_2012 = Date.new 2012, 10, 8
oct_2012.wday   # => 1, We're done!

nov_2012 = Date.new 2012, 11, 8
nov_2012.wday   # => 4
nov_2012 + (8 - nov_2012.wday)  # => 2012-11-12

それは役に立ちますか?

編集

より簡単なバージョン:追加して実行するだけです。このアルゴリズムは、月が月曜日に始まる場合でも機能します。

oct_2012 = Date.new 2012, 10, 1
oct_2012 + (8 - oct_2012.wday)  # => 2012-10-08

nov_2012 = Date.new 2012, 11, 1
nov_2012 + (8 - nov_2012.wday)  # => 2012-11-12

1つのルールと完了!

于 2012-10-30T13:32:35.640 に答える
0

あなたの第2月曜日は、常に毎月8日と14日以内になります。

于 2012-10-30T13:38:29.217 に答える