例:
毎年 1 月 15 日から 5 月 10 日まで、毎週月曜日に 2 週間おきに繰り返します。
私はそうは思わない。これは、IMO を取得できる最も近いものです。
DTSTART;VALUE=DATE:20160115
RRULE:FREQ=YEARLY;BYWEEKNO=3,5,7,9,11,13,15,17,19;BYDAY=MO
残念ながら、これは特定の年の 1 月 13 日または 14 日に拡大されます。これは、その年の他のすべてのインスタンスが 1 週間ずれることも意味します (最初の 100 個のインスタンスを参照してください)。ただし、これが正しい日付がいくつかあると思います (年の特定の日は常に同じ暦週にあるため)。
これを行う唯一の方法は、範囲の開始日と終了日が月の開始日と終了日と一致する場合です。
つまり、イベントを毎年 1 月 1 日から 5 月 31 日までの第 2 月曜日に拡張するには、次のようにします。
DTSTART;VALUE=DATE:20160101
RRULE:FREQ=YEARLY;BYMONTH=1,2,3,4,5;BYDAY=MO;BYSETPOS=1,3,5,7,9,11,13,15,17,19,21,23,25,27
そのルールの最初の 100 個のインスタンスを次に示します。一部の RRULE 実装では、これが適切にサポートされていない可能性があります。