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)));
}