我正在尝试创建一个符合iCal的重复规则,该规则应反映出每两个月获得薪水的人的发薪日。重复规则的详细信息可以在RFC上找到。
以下是规则:
到目前为止我所拥有的:
[
"RRULE:FREQ=MONTHLY;BYMONTHDAY=15;BYDAY=MO,TU,WE,TH,FR", // this will select the 15th if it's not on a weekend
"RRULE:FREQ=MONTHLY;BYSETPOS=-1;BYDAY=MO,TU,WE,TH,FR;", // this correctly selects the last weekday of the month
]
此方法的问题是,如果15日是在周末,那么该事件将被忽略。
我不确定这是否可以建模。任何帮助将不胜感激。
答案 0 :(得分:0)
这个discussion解决了这个问题。
对于15号,我需要遵循以下规则:
RRULE:FREQ=MONTHLY;INTERVAL=1;BYSETPOS=-1;BYMONTHDAY=13,14,15;BYDAY=MO,TU,WE,TH,FR
那是15日之前的最后一个工作日,我必须加上13,14,15,因为从本质上讲,这是我可能出现的唯一可能的日期。 (最糟糕的情况是,第15个是星期日,因此前一个星期五是第13个
这两个规则共同满足了我的需求!