【发布时间】:2013-04-10 17:12:27
【问题描述】:
我正在使用实现 google-rfc-2445 (https://code.google.com/p/google-rfc-2445/) 来生成应该在事件之后重复的日期,而不是作为规则指示 (RRULE) 重复完成并注意时间,即下次我也扔时计算日期。
example:
Start Date: 17/04/2013 8:30 a.m.
Rule: "RRULE: FREQ = DAILY; UNTIL = 20130430T083000Z, INTERVAL = 1"
Expected Result, Next Repetition: 4/18/2013 8:30 a.m.
Result Obtained, Next Repetition: 4/18/2013 00 00 00
这是我正在使用的代码
LocalDate start = new LocalDate(System.currentTimeMillis());
String ical = "RRULE:FREQ=DAILY;"
+ "UNTIL=20130430T083000Z;"
+ "INTERVAL=1;";
//Next Notification
Date f = null;
for (LocalDate date
: LocalDateIteratorFactory.createLocalDateIterable(ical, start, false)) {
f = date.toDateTimeAtCurrentTime().toLocalDate().toDate();
break;
}
System.out.println("Next = " + f);
打印结果是 下一个 = 2013 年 4 月 17 日星期三 00:00:00 COT
是“BYHOUR = 8; BYMINUTE = 05; BYSECOND = 10”的存在,而不是如何使用,如果可以帮忙,谢谢。
【问题讨论】:
-
您的 RRULE 似乎格式不正确。它包含逗号,其中应该有分号和多余的空格。您使用的确切规则是什么?
-
规则:频率 = 每日;直到 = 20130430T083000Z,间隔 = 1
-
我在您的代码示例中看到了
String ical,其中包含正确的标点符号。
标签: java jodatime rfc2445 rrule rfc5545