我需要以iCalendar(RFC5545(rrule的形式安排事件。该活动应被解雇:每两周,星期一和星期三,每天在活动的一天内每30分钟。
到目前为止,我创建了这个rrule字符串:freq =每周;间隔= 1; byday = mo,我们; byhour = 0,1,2,3,4,5,6,7,8,9,10,11,12,12,13,14,15,16,17,18,19,20,21,22,23; byminute = 30
我希望该事件能够"每隔两周,星期一和星期三,一天之内每30分钟举行"。
,但实际上意味着跑步:"每两周,星期一和星期三,一天内每30分钟每30分钟"
dmitry,以下是一个可能的解决方案,但是您应该注意,某些应用程序(Google?(不接受重复出现的分钟,我相信您的问题会导致。
您必须考虑rr子修饰符做两件事之一:1扩展和2个限制。因此:例如:您的重复事件实际上是每30分钟重复一次。
在https://icalendar.org/icalendar-rfc-5545/3-8-5-5-5-5-3-recurrence-rule上,请参见"每15分钟发生一次每15分钟"one_answers"一年中的每20个星期一"。html。
所以您的示例将是freq =分钟;间隔= 30'扩展',但是您也想将其'限制在每个第二个星期一和星期三,所以添加一个宝贝:
freq =分钟;间隔= 30; byday = 2mo,2we
此作弊表https://icalevents.com/2447-need-need-to-know-the-possible-combinations-for-repeating-dates-an-ical-cheatsheet/可能有助于查看有效的组合,这些组合可以提供扩展或限制重复的位。
我相信您可以在一个小时内再添加一分钟到BYMINUTE
,就像通常在crontab中所做的那样:
FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,WE;BYHOUR=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23;BYMINUTE=0,30
目前在https://jakubroztocil.github.io/rrule/上产生以下rule.all()
:
Wed, 10 Jul 2019 00:00:53 GMT
Wed, 10 Jul 2019 00:30:53 GMT
Wed, 10 Jul 2019 01:00:53 GMT
Wed, 10 Jul 2019 01:30:53 GMT
...
Wed, 10 Jul 2019 23:00:53 GMT
Wed, 10 Jul 2019 23:30:53 GMT
Mon, 15 Jul 2019 00:00:53 GMT
Mon, 15 Jul 2019 00:30:53 GMT
...
Mon, 15 Jul 2019 23:00:53 GMT
Mon, 15 Jul 2019 23:30:53 GMT
Wed, 17 Jul 2019 00:00:53 GMT
Wed, 17 Jul 2019 00:30:53 GMT
Wed, 17 Jul 2019 01:00:53 GMT
我认为这是您想要的。