iCal在最近的工作日重复每月活动



我想在每个月的24日创建一个重复事件,如果这一天是周末,请将其安排在最近的工作日。如果这一天是星期六,我想把它安排在前一个工作日(星期五(。如果是星期天,我想把它安排在下个工作日(星期一(。这可能与iCal RRULE有关吗?

我已经看到过类似的问题,但那总是在下个工作日。

我能够使用这个组合的iCAL RRULE 根据您的需求创建一个重复事件

RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYMONTHDAY=23,24;BYSETPOS=-1
RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYMONTHDAY=24,25;BYSETPOS=1

RRULE:FREQ=每月;BYDAY=MO,TU,WE,TH,FR;按月天数=23,24;BYSETPOS=-1

  • 通过将BYSETPOS设置为-1,此规则将选择与规则匹配的集合中的最后一个出现

如果23和24都在工作日,它将选择最后一次出现,即第24天

如果24落在周六,根据规则,只有一次匹配,因此它将选择周五的第23天

如果23日和24日都在周末,则不会创建任何活动。这就是为什么需要另一条规则来解决这个问题。

RRULE:FREQ=每月;BYDAY=MO,TU,WE,TH,FR;按月天数=24,25;BYSETPOS=1

  • 通过将BYSETPOS设置为1,此规则将选择与规则匹配的集合出现次数中的第一个出现次数

如果24和25都在工作日,它将选择第一次出现,即第24天

如果24落在一个星期天,根据规则,只有一次匹配,因此它将选择星期一的第25天

如果24日和25日都是周末,则不会根据此规则创建任何活动。

最新更新