Java iCal4j/biweekly和google-rfc-2445之间有什么区别?

Java iCal4j/biweekly和google-rfc-2445之间有什么区别?,java,icalendar,rfc5545,ical4j,rfc2445,Java,Icalendar,Rfc5545,Ical4j,Rfc2445,现在我正在使用库来评估周期性事件,并生成实际日期,例如,通过以下RRULE:RRULE:FREQ=MONTHLY定义的事件来知道何时发生;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1 我正在使用库生成*.ics文件。实际上,它与API的功能相同,但更易于使用 我发现这两个库在某种程度上都具有可互换的功能,所以我的问题是,我可以为这两个任务使用单个库(iCal4j/biweekly)吗?生成定期事件并导出/导入*.ics文件?主要关注评估定期规则,同时关注整体使用iCalend

现在我正在使用库来评估周期性事件,并生成实际日期,例如,通过以下RRULE:
RRULE:FREQ=MONTHLY定义的事件来知道何时发生;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1

我正在使用库生成*.ics文件。实际上,它与API的功能相同,但更易于使用

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

主要关注评估定期规则,同时关注整体使用iCalendar文件

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

双周允许您在重复规则中迭代日期(请参见下面的代码)。它使用google-rfc-2445来实现这一点

ICalendar ical = ...
VEvent event = ical.getEvents().get(0);
RecurrenceRule rrule = event.getRecurrenceRule();
Iterator<Date> it = rrule.getDateIterator(event.getDateStart().getValue());
ICalendar ical=。。。
VEvent event=ical.getEvents().get(0);
RecurrenceRule rrule=event.getRecurrenceRule();
迭代器it=rrule.getDateIterator(event.getDateStart().getValue());