如何配置每周指定3天、单次4小时无结束日期的RRule重复规则?
RRule 重复工作班次规则调整方案
问题根因
你当前配置的BYHOUR=8,9,10,11,12会为每个列出的小时单独匹配生成一条事件开始记录,最终每天产出5条独立事件,不符合预期。
调整配置
RRULE 仅负责定义事件的开始时间规则,事件时长不属于RRULE的配置范围,需要在日历事件的属性中单独设置。修改后的规则如下:FREQ=WEEKLY;BYDAY=MO,TH,FR;BYHOUR=8;BYMINUTE=0
配置说明
- 把频率从
DAILY改为WEEKLY,更匹配「每周固定3天」的逻辑,减少无效日期过滤 - 仅在
BYHOUR中填写班次的开始小时(示例为早8点开始),不要填写班次覆盖的所有小时 - 4小时的班次时长,直接在对应日历事件的
duration属性中配置为4小时即可 - 规则未添加
COUNT(总触发次数)、UNTIL(结束截止日期)参数,天然满足无结束日期的需求
内容的提问来源于stack exchange,提问作者Nad
相关产品推荐
相关产品推荐

