Erzeugen von Wiederholungen aus einem Wiederholungsmuster

Mit Aspose.Email ist es möglich, Vorkommen anhand eines Wiederholungsmusters zu erzeugen. Dieser Artikel erklärt, wie, wie man das nächste Auftreten generieren und Benutzerfreundliche Elementbeschreibungen erhalten. Vorkommen aus einem MAPI‑Kalender‑Wiederholungsmuster können mit Aspose.Email erzeugt werden. Das folgende Code‑Snippet zeigt, wie man Vorkommen aus Wiederholungsmustern generiert.

Berechnen des nächsten Auftretens oder n nächster Vorkommen

Um das „nächste“ Auftreten zu erhalten, verwenden Sie die GenerateOccurrences‑Methode mit dem Parameter nNextOccurrences = 1. Das folgende Code‑Snippet zeigt, wie man 20 Auftreten erzeugt, indem man nNextOccurrences = 20 verwendet. Die Ausgabe des untenstehenden Codes ist wie folgt:

todo:image_alt_text

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

CalendarRecurrence recurrencePattern = new CalendarRecurrence();

recurrencePattern.setStartDate(sdf.parse("1997-09-10 09:00:00"));
RecurrenceRule rule = recurrencePattern.getRRules().add();
rule.setFrequency(Frequency.Monthly);
rule.setCount(20);
rule.setInterval(18);
rule.getByMonthDay().add(new int[] { 10, 11, 12, 13, 14, 15 });
DateCollection expectedDates = recurrencePattern.generateOccurrences(20);
System.out.println("expectedDates.Count = " + expectedDates.size());
for (int i = 0; i < expectedDates.size(); i++) {
    System.out.println("DateTime = " + sdf.format(expectedDates.getItem(i)));
}

Benutzerfreundlichen Text für eine Wiederholung erhalten

Benutzerfreundlicher Text für eine Regel kann über die Eigenschaft FriendlyText wie unten gezeigt abgerufen werden. Die Ausgabe des Codes lautet: "Wiederholt sich jeden Monat am 1. und 1. vom Ende des Tages(e) des Monats für maximal 2 Wiederholungen.". Das folgende Code‑Snippet zeigt, wie man den benutzerfreundlichen Text für eine Wiederholung erhält.

RecurrenceRule rule = recurrencePattern.getRRules().add();
rule.setFrequency(Frequency.Monthly);
rule.setCount(2);
rule.getByMonthDay().add(1);
rule.getByMonthDay().add(-1);
System.out.println(rule.getFriendlyText());