iCalendar RFC 2445

Шаблоны повторения в реальном мире

Шаблон повторения описывает правила, по которым происходит событие. Для вычисления дат и времени повторений заданного шаблона необходим движок шаблонов повторения, такой как Aspose iCalendar. Мы сталкиваемся с расписаниями или шаблонами повторения во многих ситуациях, например:

  • Десять встреч команды, каждый понедельник в 10:00.
  • Обрабатывать выплату зарплаты в последний рабочий день каждого месяца.
  • Проверять температуру пациента каждый день в течение двух недель.
  • Ходить в спортзал по понедельникам, средам и пятницам.
  • Запускать резервное копирование каждые 4 часа в рабочие дни.
  • Сгенерировать отчет о продажах на …
  • Обновление статистики сайта каждые … Практически любое событие, происходящее периодически, может быть представлено как шаблон повторения. Например, следующий код вернёт массив, содержащий десять повторений примера предыдущего собрания команды:
CalendarRecurrence recurrencePattern = new CalendarRecurrence("DTSTART:20040301T100000\nRRULE:FREQ=WEEKLY;COUNT=10;BYDAY=MO");
DateCollection expectedDates = recurrencePattern.generateOccurrences();
System.out.println("expectedDates.Count = " + expectedDates.size());
for (int i = 0; i < expectedDates.size(); i++) {
    System.out.println("DateTime = " + sdf.format(expectedDates.getItem(i)));
}