我正在尝试使用 RFC5545 重复规则在 C# 中复制 Google 日历中的一些日程安排功能。
使用 Google 日历每月安排有两个选项,或者每个月的第 N 天,即:每 1 个月的每个月的第 10 天,这显然会发生,而不管星期几。
我的重复规则是:FREQ=MONTHLY;BYMONTHDAY=10
另一种选择是在第 N 个工作日重复该事件,即:“每个月的第二个星期日,这是我在编写规则时遇到的问题。
对于第二条规则,我的规则应该是什么?我试过 FREQ=MONTHLY;BYDAY=SU
,但我不确定如何/使用哪些参数来指定仅在每个月的第二个星期日执行此操作。
我正在使用 DDay iCal C# 库生成我的重复规则,但我很高兴看到规则字符串应该是什么样子才能实现所需的行为。
我正在使用 RFC 5545 recurrence rule .
最佳答案
你快到了。您需要的是设置当天的索引,RFC5545 说:
Each BYDAY value can also be preceded by a positive (+n) or negative (-n) integer. If present, this indicates the nth occurrence of a specific day within the MONTHLY or YEARLY "RRULE".
后面RFC5545给出了例子
Monthly on the first Friday for 10 occurrences:
DTSTART;TZID=America/New_York:19970905T090000
RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR
所以对你来说规则必须是:
RRULE:FREQ=MONTHLY;BYDAY=2SU
关于c# - 使用 RFC 5545 重复规则安排每月事件 "Every Nth Weekday",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26050521/