Datetime 使用VFreebusy iCalendar组件

Datetime 使用VFreebusy iCalendar组件,datetime,icalendar,schedule,ical4j,Datetime,Icalendar,Schedule,Ical4j,我正在制作一个调度应用程序,我正在使用iCalendar格式。我知道我可以使用此代码从当前日历中获取空闲时间: DateTime start = new DateTime(); DateTime end = new DateTime(start.getTime() + 1000 * 60 * 60 * 24 * 7); VFreeBusy request = new VFreeBusy(start, end, new Dur(0, 2, 0, 0)); VFreeBusy response =

我正在制作一个调度应用程序,我正在使用iCalendar格式。我知道我可以使用此代码从当前日历中获取空闲时间:

DateTime start = new DateTime();
DateTime end = new DateTime(start.getTime() + 1000 * 60 * 60 * 24 * 7);
VFreeBusy request = new VFreeBusy(start, end, new Dur(0, 2, 0, 0));
VFreeBusy response = new VFreeBusy(request, myCalendar.getComponents());
通过在日历中的几个事件上使用此代码,我得到了以下输出

DTSTAMP:20140323T204423Z
DTSTART:20020202T040023Z
DTEND:20020203T040023Z
DURATION:PT45M
FREEBUSY;FBTYPE=FREE:20020202T040023Z/PT2H,20020202T070023Z/PT4H,20020202T120023Z/PT16H
END:VFREEBUSY
我不知道的是如何将VFreeBusy对象与那些空闲时间段一起使用,并将它们实际取出,这样我就可以比较它们并将它们用作日期和时间


我使用response.getProperties().getProperty(Property.FREEBUSY)来获取所需的部分,但我不知道如何解析所有字符串。如果您有其他方法让我获得这些时间段,请告知。

假设您使用的是ical4j。一旦获得属性,就可以将其强制转换为具有getPeriods()方法的FreeBusy属性。

能否在解释中添加更多内容?一些代码对于实际了解如何获取这些句点很有用。