我正在尝试为我的fullcalendar事件创建一个rrule,该事件发生在每个月的第二个星期一,星期三和星期五。
这是我试过的套谜
RRULE:FREQ = MONTHLY; COUNT = 10;间隔= 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.........
每个BYDAY值也可以以正(+ n)或负(-n)整数开头。如果存在,则表示在每月或每年“RRULE”中第n次出现特定日期。
因此,您正在寻找的规则确定每个月的第二个星期一(2MO
),星期三(2WE
)和星期五(2FR
)。
FREQ=MONTHLY;COUNT=10;BYDAY=2MO,2WE,2FR
(点击查看结果)
请注意,INTERVAL=1
是默认值,WKST=SU
在这种情况下毫无意义,因此您也可以省略它们。
顺便说一句,你的规则基本上说,在一个月的所有星期一,星期三和星期五,在那个月进行第二次实例。