我正在做一个项目,需要使用 iCal4J 库为某个日期范围生成重复。基本上,这是一个简单的 RRule,每周重复一次,每周五重复一次,持续六个月。
这就是我所拥有的:
Recur recur = new Recur("FREQ=WEEKLY;INTERVAL=1;BYDAY=FR;WKST=MO;UNTIL=20170428T003000Z;");
DateTime startDate = new DateTime("20160727T0030000Z");
Date endDate = recur.getUntil();
DateTime baseDate = new DateTime("20160727T003000Z");
DateList dateList = recur.getDates(baseDate, startDate, endDate, Value.DATE_TIME);
这会在每个星期五午夜半点生成每周会议,但最后一次会议应该是 27/01/2017,而是 20/01/2017。
一场会议被取消。Ps 这只发生在这个日期范围内(可能与英国夏令时 BST 有关),但是它被设置为 UTC,因此它应该没关系吧?
然后,如果我在 23:59:59 将 UNTIL 属性从重复规则更改为 21-01-2017,那么它就会被拾取。
有什么建议么?
问候