【发布时间】:2018-07-18 03:20:07
【问题描述】:
我正在尝试为每个月的第一个和第二个星期一和星期二发生的事件定义一个 RRULE。这相当于每月发生四次事件。我认为这是正确的:
FREQ=MONTHLY;INTERVAL=1;BYSETPOS=1,2;BYDAY=MO,TU
但它只会在每个月的第一个星期一/星期二生成事件。如果我删除星期二,它将在该月的第一个和第二个星期一生成事件。为什么我不能指定多个 BYSETPOS 值(正如 RRULE spec 似乎允许的那样)以及多个 BYDAY 值?
如何正确定义这样的规则,因为很明显这不是正确的方法?
显然我没有清楚地理解 BYSETPOS 属性。
上面链接的文档指出:
bysetpos - 如果给定,它必须是整数或整数序列, 正面或负面。每个给定的整数将指定一次出现 编号,对应于规则内第 n 次出现 频率周期。例如,如果与 -1 相结合,则 bysetpos 每月频率和(MO,TU,WE,TH,FR)的工作日,将 结果是每个月的最后一个工作日。
所以我认为使用 BYSETPOS 来指定频率周期内所需的出现是正确的(作为整数序列)。
感谢您的指导。
【问题讨论】:
标签: rrule