iCalendar RFC 2445

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

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

  • Десять командных встреч, каждый понедельник в 10 утра.
  • Выплата зарплаты в последний рабочий день каждого месяца.
  • Измерять температуру пациента каждый день в течение двух недель.
  • Ходить в спортзал по понедельникам, средам и пятницам.
  • Создавать резервную копию каждые 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)));
}