1

现在我正在使用google-rfc-2445库来评估重复事件,并生成实际日期,例如要知道什么时候会发生由以下 RRULE 定义的事件:RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1

我正在使用双周库来生成 *.ics 文件。实际上它与iCal4j相同,但 API 更易于使用。

我看到这两个库在某种程度上都具有可互换的功能,所以我的问题是,我可以对这两个任务使用单个库(iCal4j/biweekly)吗?生成重复事件并导出/导入 *.ics 文件?

4

1 回答 1

3

google-rfc-2445主要侧重于评估重复规则,而biweeklyiCal4j侧重于将 iCalendar 文件作为一个整体进行处理。

如果您的目标是生成 iCalendar 文件,那么您应该使用 biweekly 或 iCal4j。如果您需要遍历重复规则中的日期,请使用 google-rfc-2445。如果您只需要创建重复规则,则不需要 google-rfc-2445。

biweekly 允许您在重复规则中迭代日期(请参见下面的代码)。它使用 google-rfc-2445 来执行此操作。

ICalendar ical = ...
VEvent event = ical.getEvents().get(0);
RecurrenceRule rrule = event.getRecurrenceRule();
Iterator<Date> it = rrule.getDateIterator(event.getDateStart().getValue());
于 2016-01-27T18:19:15.723 回答