Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Calendar 是否可能在最近的工作日重复每月活动?_Calendar_Google Calendar Api_Icalendar - Fatal编程技术网

Calendar 是否可能在最近的工作日重复每月活动?

Calendar 是否可能在最近的工作日重复每月活动?,calendar,google-calendar-api,icalendar,Calendar,Google Calendar Api,Icalendar,我想在每个月的24日创建一个重复事件,如果这一天是周末,则将其安排在最近的工作日。如果那天是星期六,我想把它安排在前一个工作日(星期五)。如果那天是星期天,我想把它安排在下一个工作日(星期一)。这可能与iCal RRULE有关吗 我已经看到过类似的事件,但总是在下一个工作日发生。我能够根据您的要求使用此组合iCAL文件创建重复事件 RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYMONTHDAY=23,24;BYSETPOS=-1 RRULE:FREQ=MON

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


我已经看到过类似的事件,但总是在下一个工作日发生。

我能够根据您的要求使用此组合iCAL文件创建重复事件

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;BYMONTHDAY=23,24;BYSETPOS=-1

  • 通过将BYSETPOS设置为-1,此规则将选择与规则匹配的集合中的最后一个引用
如果23和24都在工作日,它将选择最后一次发生,即第24天

如果一个星期六发生24次,则根据规则只匹配一次,因此它将选择星期五的第23天

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

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

  • 通过将BYSETPOS设置为1,此规则将选择与规则匹配的集合引用中的第一个引用
如果24和25都在工作日,它将选择第一个事件,即第24天

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

如果24和25都在周末,则不会根据此规则创建任何事件


谢谢这(有2个RRULEs)在导入到Google日历时确实有效。然而,当导入到Apple Calendar时,它似乎只支持第一条规则。关于Apple Calendar是否在一次活动中支持超过1个RRULE,您有什么想法吗?很高兴听到,关于您的其他问题,从外观上看,限制似乎来自Apple Calendar。我所能建议的最佳选择是向这个社区中的苹果公司询问这个问题