【问题标题】:Scheduling a monthly event "Every Nth Weekday" using RFC 5545 recurrence rule使用 RFC 5545 重复规则安排每月事件“每个 Nth Weekday”
【发布时间】:2014-11-20 22:21:05
【问题描述】:

我正在尝试使用 RFC5545 重复规则在 C# 中复制 Google 日历中的一些日程安排功能。

有两种使用 Google 日历安排每月的选项,或者按每月的第 N 天,即:每 1 个月的每月第 10 天,这显然会发生,与工作日无关。

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

另一种选择是在每个第 N 个工作日重复该事件,即:“每个月的第二个星期日,这是我在为其编写规则时遇到问题的那个。

我的第二条规则应该是什么?我试过FREQ=MONTHLY;BYDAY=SU,但我不确定如何/使用哪些参数来指定仅在每月的第二个星期日执行此操作。

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

我正在使用RFC 5545 recurrence rule

【问题讨论】:

    标签: c# time icalendar rfc5545


    【解决方案1】:

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

    每个 BYDAY 值也可以在前面加上一个正数 (+n) 或 负 (-n) 整数。如果存在,这表示第 n 个 在 MONTHLY 或 YEARLY "RRULE" 中出现特定日期。

    RFC5545 后面给出了一个例子

    每月第一个星期五出现 10 次:

       DTSTART;TZID=America/New_York:19970905T090000
       RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR
    

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

    RRULE:FREQ=MONTHLY;BYDAY=2SU

    【讨论】:

      猜你喜欢
      • 2020-06-24
      • 2015-10-02
      • 1970-01-01
      • 2012-09-02
      • 1970-01-01
      • 2016-12-25
      • 2018-07-31
      • 1970-01-01
      相关资源
      最近更新 更多