iCalendar RFC 2445

Gerçek Dünyada Tekrar Desenleri

Tekrar deseni, etkinliğin ne zaman gerçekleşeceğini tanımlayan kuralları açıklar. Aspose iCalendar gibi bir tekrar deseni motoru, belirli bir tekrar deseni için tarih ve saatleri hesaplamak ve tekrarları doğru şekilde üretmek için gerekir. Tekrar desenleri birçok durumda karşımıza çıkar, örneğin:

  • Her Pazartesi saat 10:00’da on ekip toplantısı.
  • Her ayın son iş gününde maaş ödemesini gerçekleştir.
  • Hasta sıcaklığını iki hafta boyunca her gün kontrol et.
  • Pazartesi, Çarşamba ve Cuma günleri spor salonuna git.
  • Çalışma günlerinde her 4 saatte bir yedekleme çalıştır.
  • … tarihinde satış raporu oluştur
  • Web sitesi istatistiklerini her … güncelleyin. Periyodik olarak gerçekleşen hemen her olay, bir tekrarlama deseniyle temsil edilebilir. Örneğin, aşağıdaki kod önceki ekip toplantısı örneğinin on tekrarını içeren bir dizi döndürür:
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)));
}