我尝试使用RFC5545重复规则在C#中复制Google日历中的某些计划功能。
每月使用Google日历安排两个选项,或者每隔N个月安排一次,即:每1个月每10天,无论工作日如何,这都会明显发生。
我的重复规则是:FREQ=MONTHLY;BYMONTHDAY=10
另一种选择是每隔工作日重复一次活动,即:" 每隔一个月的第二个星期天,这是我在编写规则时遇到的问题对
我的规则对于第二条规则应该是什么?我已经尝试了FREQ=MONTHLY;BYDAY=SU
,但我不确定如何使用这些参数指定每月的第2个星期日才能执行此操作。
我使用 DDay iCal C#库来生成我的重复规则,但我很高兴能够显示规则字符串应该是什么样子来实现所需的行为
我正在使用RFC 5545 recurrence rule。
答案 0 :(得分:4)
你快到了。你需要的是设置当天的索引,RFC5545说:
每个BYDAY值前面也可以是正数(+ n)或 负(-n)整数。如果存在,则表示第n个 在每月或每年“RRULE”中发生特定日期。
RFC5545后面给出了一个例子
每月第一个星期五发生10次:
DTSTART;TZID=America/New_York:19970905T090000
RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR
所以对你来说规则必须是:
RRULE:FREQ=MONTHLY;BYDAY=2SU