簡體   English   中英

RRule 和 iCal Complex 循環

[英]RRule and iCal Complex recurrence

無論年份如何,我都需要能夠根據工作日創建事件。 一個很好的例子是感恩節,即 11 月的第 4 個星期四:

RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=11;BYDAY=Th;
BYMONTHDAY=22,23,24,25,26,27,28

但是假設我想要感恩節后的星期天? 大致相同,除了感恩節是在 28 日,下一個星期日是 12 月。 我試過了:

RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=11,**12**;BYDAY=Su;
BYMONTHDAY=25,26,27,28,29,30,**01**

這是行不通的,因為它還會標記周日 11 月 1 日和周日 12 月 25 日至 30 日。

這些類型的規則意味着尚未內置到 iCal 格式中的計算,因此可能無法在 iCal 中對上述類型的所有規則進行建模。 然而,通常可以為特定情況找到一些“解決方法”,您提到的示例就是這種情況:

11月第4個星期四之后的星期日:

FREQ=YEARLY;BYYEARDAY=-37,-36,-35,-34,-33,-32,-31;BYDAY=SU

12月第2個星期六之前的星期六(即12月第1個星期六):

FREQ=YEARLY;BYMONTH=12;BYDAY=1SA

12 月第一個星期六之前的星期五:

FREQ=YEARLY;BYYEARDAY=-32,-31,-30,-29,-28,-27,-26;BYDAY=FR

12 月的第一個星期六和前一個星期五:

FREQ=YEARLY;BYYEARDAY=-32,-31,-30,-29,-28,-27,-26,-25;BYMONTH=11,12;BYDAY=-1FR,1FR,1SA;BYSETPOS=1,2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM