Генерувати випадки за шаблоном повторення

За допомогою Aspose.Email можна генерувати події, використовуючи шаблон повторення. Ця стаття пояснює як, як саме згенерувати наступну подію і отримати зручні для користувача описання елементів. Події з шаблону повторення календаря MAPI можна генерувати за допомогою Aspose.Email. Наведений нижче фрагмент коду показує, як генерувати події з шаблонів повторення.

Обчислити наступну подію або n наступних подій

Щоб отримати "наступну" подію, використайте метод GenerateOccurrences з параметром nNextOccurrences = 1. Наведений нижче фрагмент коду показує, як згенерувати 20 подій, використовуючи nNextOccurrences = 20. Вивід коду нижче виглядає наступним чином:

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

Отримати дружній для користувача текст для повторення

Дружній для користувача текст правила можна отримати, використовуючи властивість FriendlyText, як показано нижче. Результат коду буде: "Повторювати щомісяця в 1-й і 1-й з кінця дня(днів) місяця, максимум 2 випадки.". Наступний фрагмент коду показує, як отримати дружній для користувача текст для повторення.

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