ical4j在exdate结束时不断丢失Z.

时间:2015-10-27 16:55:10

标签: icalendar ical4j

Ical4j Exdate属性拒绝在从一个文件解析的utc EXDATE末尾的Z.如何让它保留Z.我已经尝试删除EXDATE并设置一个具有所需格式的新EXDATE,但它仍然不起作用,Z仍然被拒绝。请在下面找到我写的代码:

Iterator<Property> iterator = cal.getComponents().get(0).getProperties().iterator(); 
//This iterator iterates over the properties of the one component in a parsed out calendar "cal"

DateList list = new DateList(net.fortuna.ical4j.model.parameter.Value.DATE_TIME);
while (iterator.hasNext()) {
      Property p = iterator.next();
      if (p.getName().equals("EXDATE")) {

                StringBuilder value = new StringBuilder(p.getValue());
                value.append("Z");
                System.out.println("New ExDate :" + value.toString());
                Date date = new Date(value.toString(), "yyyyMMdd'T'hhmmss'Z'");
                list.add(date);
                iterator.remove();
      }
}
if (!list.isEmpty()) {
      cal.getComponents().get(0).getProperties().add(new ExDate(list));
}
for (final Property p : cal.getComponents().get(0).getProperties()) {
            System.out.println(p.getName() + ":" + p.getValue());
}

获得的结果是格式 EXDATE:20151117T190000,20151118T190000

如何使它在时间戳的末尾保留Z,如“20151117T190000Z”,因为它导致我的客户端不理解exdate并完全忽略它。这些值在客户端从那里拉出之前存储在caldav服务器中

1 个答案:

答案 0 :(得分:0)

您是否尝试在DateList上执行setUtc(true)?