【发布时间】:2015-09-14 22:52:58
【问题描述】:
假设我有一个事件发生在每天晚上 7:00 和下午 2:00。 RRule 看起来像这样:
FREQ=DAILY;BYHOUR=10,14
如果我想要在上午 10:00 和下午 2:30 发生的事件,我会假设它看起来像这样:
FREQ=DAILY;BYHOUR=10,14;BYMINUTE=0,30
但这似乎并不正确。该规范称“BYxxx 规则部件在一段时间内低于频率通常会增加或扩大重复出现的次数”。在http://jkbrzt.github.io/rrule/ 进行测试会产生以下结果:
- 周一 10:00
- 周一 10:30
- 周一 14:00
- 周一 14:30
- 周二 10:00
- 周二 10:30
- 周二 14:00
- 周二 14:30
我真正想要的是:
- 周一 10:00
- 周一 14:30
- 周二 10:00
- 周二 10:30
- 星期三 10:00
- 星期三 14:30
- 周四 10:00
- 星期四 14:30
【问题讨论】:
-
我不认为你可以在一个 RRULE 中,但如果你正在使用 icalendars(或 vcalendars),你可以简单地在一个组件中添加多个 RRULES,所以
RRULE;FREQ=DAILY;BYHOUR=10;BYMINUTE=0 RRULE';FREQ=DAILY;BYHOUR=14;BYMINUTE=30会做你想做的事.否则,我无法在 RFC 中直接找到有关如何在 oneliner 中执行您的特定案例的任何内容。
标签: rrule