2016-01-26 3 views
1

Сейчас я использую google-rfc-2445 библиотеку для оценки повторяющихся событий и генерировать фактические даты, например, чтобы знать, когда произойдет событие, определенное следующим RRULE: RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1В чем разница между iCal4j/biweekly и google-rfc-2445?

Я использую biweekly библиотеку для генерации * .ics файлов , На самом деле он делает то же самое, что и iCal4j, но API гораздо проще в использовании.

Я вижу, что обе библиотеки имеют некоторую взаимозаменяемую функциональность, поэтому мой вопрос: могу ли я использовать единую библиотеку (iCal4j/biweekly) для обеих задач? Создавать повторяющиеся события и экспортировать/импортировать * .ics файлы?

ответ

2

google-rfc-2445 основное внимание уделяется оценке правил повторения, в то время как biweekly и iCal4j сосредоточены на работе с файлами 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()); 
Смежные вопросы