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