带有季度重复活动的ICS日历Feed

时间:2016-01-02 16:34:11

标签: php calendar icalendar

我正在处理将由不同日历应用程序使用的ICS日历源。我正在使用PHP iCal包生成提要:https://github.com/markuspoerschke/iCal

为我提供ics feed数据的基本系统,有以下类型的重复活动:

  

每日,每周,每月,每季度,每年

我正在通过RFC文档查看此标准https://tools.ietf.org/html/rfc5545,并且标准支持仅遵循重复频率:

   freq        = "SECONDLY" / "MINUTELY" / "HOURLY" / "DAILY"
               / "WEEKLY" / "MONTHLY" / "YEARLY"

这意味着没有标准的方式来进行季度重复活动。

我想到的一个解决方案是每3个月后添加一个新事件。但是,这将在一年内添加4个单独的事件,而不是添加4个原始事件的重复实例。

有没有办法'欺骗'ics创造季度'重复'事件?

1 个答案:

答案 0 :(得分:2)

如果您进一步探索RFC5545规范(RECUR规则https://tools.ietf.org/html/rfc5545#page-41中的下一页),您会发现可以做很多事情(不需要“技巧”)。以你的例子:

RRULE:FREQ=MONTHLY;INTERVAL=3

如此处所示:http://test.icalevents.com/event/quarterly-test/

INTERVAL规则部分包含一个表示at的正整数       重复规则重复的间隔。默认值为       “1”,意思是每秒钟的第二个规则,每分钟一个       MINUTELY规则,每小时一个小时规则,每天一个       每日规则,每周一次为每周规则,每个月为一个       每月统治,每年统治一年。例如,       在DAILY规则中,值“8”表示每八天一次。