包含季度重复事件的 ICS 日历源

Rav*_*ish 0 php icalendar calendar

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

为我提供 ics feed 数据的基本系统具有以下类型的重复事件:

每日、每周、每月、每季度、每年

我正在查看 RFC 文档以了解此标准https://www.rfc-editor.org/rfc/rfc5545,并且标准仅支持以下重复频率:

   freq        = "SECONDLY" / "MINUTELY" / "HOURLY" / "DAILY"
               / "WEEKLY" / "MONTHLY" / "YEARLY"
Run Code Online (Sandbox Code Playgroud)

这意味着没有标准的方法来举办季度重复活动。

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

有没有办法“欺骗”ICS 创建季度“重复”事件?

anm*_*ari 5

如果您进一步探索 RFC5545 规范(RECUR 规则的下一页https://www.rfc-editor.org/rfc/rfc5545#page-41),您会发现您可以做很多事情(没有“技巧”) ' 需要)。对于你的例子:

RRULE:FREQ=MONTHLY;INTERVAL=3
Run Code Online (Sandbox Code Playgroud)

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

INTERVAL 规则部分包含一个正整数,表示重复规则重复的时间间隔。默认值为“1”,表示 SECONDLY 规则为每秒、MINUTELY 规则为每分钟、HOURLY 规则为每小时、DAILY 规则为每天、WEEKLY 规则为每周、MONTHLY 规则为每月,以及每年的 YEARLY 规则。例如,在 DAILY 规则中,值“8”表示每八天一次。