3

我在这里阅读了这个答案,它解释了如何输出计划项目的 ical 文件:

如何使用 PHP 动态发布 ical 文件以供 Google 日历读取?

我的问题是重复事件的 ical 格式是什么?假设我想在每周一上午 10 点安排一次团队会议。重复时间表的 ical 格式是什么?还是我需要在未来打印 X 个事件?

4

3 回答 3

3

ical 格式由 RFC5545 定义:https ://www.rfc-editor.org/rfc/rfc5545

在您的情况下,您只需要定义一个事件并使用 FREQ 属性(FREQ=WEEKLY)和 COUNT 属性(COUNT=X)

RRULE:FREQ=每周;BYDAY=MO;COUNT=X

有关详细信息,请参阅https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10 。

于 2012-10-23T04:31:58.880 回答
3

假设我想在每周一上午 10 点安排一次团队会议。重复时间表的 ical 格式是什么?

 DTSTART:20121022T100000
 RRULE:FREQ=WEEKLY;BYDAY=MO

指定星期一上午 10 点的开始日期,并且 RRULE 部分指定它每周重复一次。

您需要将其放入 RFC 2445 中指定的 VEVENT 中。

由于未指定时区,Google 将假定您上传此活动的日历的主要时区。

您无需指定计数或终止日期。Google 日历对您可以专门处理的重复事件的实例数量有一些内部限制,但除非您的团队几个世纪以来定期开会,否则您永远不应该遇到它。

于 2012-10-23T19:21:00.743 回答
2

您可以使用RRULEFREQ属性来完成此操作,如RFC5545中所述。在您的情况下,它看起来像这样:

DTSTART:20121029T100000Z
RRULE:FREQ=WEEKLY;BYDAY=MO;UNTIL=20131028T110000Z

您还可以设置其他方式来限制发生次数(如重复事件的数量)或让它永远重复。然而,如果你问我,设置一个合理的限制而不是无限重复对你的用户来说更礼貌。

于 2012-10-23T04:44:52.077 回答