java – ICal4j中的重复规则

前端之家收集整理的这篇文章主要介绍了java – ICal4j中的重复规则前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试使用ICal4j创建一个.ics文件.
但是当我尝试添加重复失败时,抛出ValidationException:

net.fortuna.ical4j.model.ValidationException: Invalid property: RRULE at
        net.fortuna.ical4j.model.Calendar.validate(Calendar.java:297) at  
        net.fortuna.ical4j.model.Calendar.validate(Calendar.java:257) at 
        net.fortuna.ical4j.data.CalendarOutputter.output(CalendarOutputter.java:96) at 
        net.fortuna.ical4j.data.CalendarOutputter.output(CalendarOutputter.java:83)

添加重复的代码是:

Recur recur = new Recur(Recur.WEEKLY,null);
recur.setUntil( new DateTime(dateTo.getTime()) );

RRule rule = new RRule(recur);
cal.getProperties().add(rule);

没有这个规则它工作正常,但我想每个星期一添加此事件
至2011年12月12日(dateTo返回的日期).有任何想法吗?

最佳答案
必须将重新出现规则(RRULE)属性添加到日历中的特定事件(VEVENT),而不是日历本身.例如

myEvent.getProperties().add(rule);

此外,如果您希望事件发生在星期一,您应该使用如下规则:

FREQ=WEEKLY;BYDAY=MO;UNTIL=

这是我的头脑,所以最好检查RFC以确定:

http://tools.ietf.org/html/rfc5545#section-3.3.10

猜你在找的Java相关文章