【问题标题】:rrule to get the 2nd Monday, Wednesday and Friday of the month, for every monthrrule 获取每个月的第二个星期一、星期三和星期五
【发布时间】:2019-04-04 12:41:05
【问题描述】:

我正在尝试为我的全日历事件创建一个规则,该事件发生在每月的第二个星期一、星期三和星期五。

这是我尝试过的规则

RRULE:FREQ=MONTHLY;COUNT=10;INTERVAL=1;WKST=SU;BYDAY=MO,WE,FR;BYSETPOS=2

events: [{
          title: 'rrule event',
          rrule: {
           freq: RRule.MONTHLY,
               count: 10,
               interval: 1,
               wkst: RRule.SU,
               byweekday: [RRule.MO, RRule.WE, RRule.FR],
               bysetpos: [2]
            },
            duration: '02:00',
        rendering: 'inverse-background'
         }
        ],

这就是我得到的

1   Fri,    03  May 2019    12:33:53    GMT
2   Wed,    05  Jun 2019    12:33:53    GMT
3   Wed,    03  Jul 2019    12:33:53    GMT
4   Mon,    05  Aug 2019    12:33:53    GMT
5   Wed,    04  Sep 2019    12:33:53    GMT
6   Fri,    04  Oct 2019    12:33:53    GMT
7   Mon,    04  Nov 2019    12:33:53    GMT
8   Wed,    04  Dec 2019    12:33:53    GMT
9   Fri,    03  Jan 2020    12:33:53    GMT
10  Wed,    05  Feb 2020    12:33:53    GMT

预期的是

1    Mon,  08   Apr   2019
2    Wed,  10   Apr   2019
3    Fri,  12   Apr   2019
4    Mon,  13   May   2019
5    Wed,  08   May   2019  
6    Fri,  10   May   2019.........

【问题讨论】:

    标签: fullcalendar rrule


    【解决方案1】:

    RFC 5545, section 3.3.10. 状态:

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

    因此,您要查找的规则实际上指定了每个月的第二个星期一 (2MO)、星期三 (2WE) 和星期五 (2FR)。

    FREQ=MONTHLY;COUNT=10;BYDAY=2MO,2WE,2FR (点击查看结果)

    请注意,INTERVAL=1 是默认值,WKST=SU 在这种情况下毫无意义,因此您也可以省略它们。

    顺便说一句,您的规则基本上是说,在一个月的所有星期一、星期三和星期五中,以该月的第二次为例。

    【讨论】:

      猜你喜欢
      • 2021-12-04
      • 2023-03-21
      • 2015-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      • 2016-08-09
      相关资源
      最近更新 更多