使用RFC 5545重复规则安排每月事件"每N个工作日"

Ale*_*lex 6 c# time icalendar rfc5545

我正在尝试使用RFC5545重复规则在C#中复制Google日历中的某些计划功能.

每月使用Google日历安排两个选项,每个第N个月,即:每个月的每个第10天,无论工作日如何,这都会明显发生.

我的重复规则是: FREQ=MONTHLY;BYMONTHDAY=10

另一种选择是在每个工作日的第N个周期重复这一事件,即:" 每隔一个星期日每隔一个月,这就是我在编写规则时遇到的问题.

我的规则对于第二条规则应该是什么?我试过了FREQ=MONTHLY;BYDAY=SU,但我不确定如何/用于指定的参数只能在每个月的第2个星期日进行.

我正在使用DDay iCal C#库来生成我的重复规则,但我很高兴能够显示规则字符串应该是什么样子来实现所需的行为.

我正在使用RFC 5545重复规则.

Aub*_*her 4

你快到了。你需要的是设置当天的索引,RFC5545 说:

每个 BYDAY 值前面还可以带有正 (+n) 或负 (-n) 整数。如果存在,则表示特定日期在每月或每年“RRULE”中第 n 次出现。

RFC5545稍后给出了一个例子

每月第一个星期五,共发生 10 次:

   DTSTART;TZID=America/New_York:19970905T090000
   RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR
Run Code Online (Sandbox Code Playgroud)

所以对你来说规则必须是:

RRULE:FREQ=MONTHLY;BYDAY=2SU