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