0

例:

毎年 1 月 15 日から 5 月 10 日まで、毎週月曜日に 2 週間おきに繰り返します。

4

1 に答える 1

0

私はそうは思わない。これは、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 実装では、これが適切にサポートされていない可能性があります。

于 2016-05-04T13:52:18.563 に答える