SSブログ

RECUR型のBYDAYルール [iCalendar]

今回は、前回読み切れなかった「BYDAY」ルールについてです。

前回も記載した通り、このルールは週内の曜日をCOMMA(0x2c)で区切って指定するのですが、他のルールとの組み合わせが多少複雑となっています。書式を再度載せておきます。

( weekdaynum *("," weekdaynum) )
weekdaynum = [["+" / "-"] 1*2DIGIT] weekday ; 1-53
weekday = "SU" / "MO" / "TU" / "WE" / "TH" / "FR" / "SA"


書式を見てわかります通り、曜日の前に整数で修飾することで何番目の曜日かを指定することもできます。整数で修飾されている時の解釈は「FREQ」の設定内容によって、次の様に変わってくる様です。

FREQ整数による修飾の解釈
MONTHLY +1MO or 1MO月内の第一月曜日
-1MO月内の最終月曜日
YEARY BYMONTH有り +1MO or 1MO月内の第一月曜日
-1MO月内の最終月曜日
BYWEEKNO有り 整数による修飾はしない(MUST NOT)
上記以外 +1MO or 1MO年内の第一月曜日
-1MO年内の最終月曜日
上記以外整数による修飾はしない(MUST NOT)


なお、整数で修飾されていない場合、周期内の全ての対象日を示します。例えば、「MONTHLY」ルールの場合、「BYDAY=MO」の様な表記は月内のすべての月曜日を示します。

う〜ん、最初読んだ時には理解不能だったんですが、何となく整理できましたかね〜。






ブログを作る(無料) powered by SSブログ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。