0

我有 net.fortuna.ical4j.model.DateList 其中包含 net.fortuna.ical4j.model.Date 对象输出是:20170522,20170523,20170525(UTC 时区)我必须将其转换为 SystemDefault timeZone 中的 ORACLE 日期。我试图这样做:

List<DATE> result = new ArrayList<DATE>
for(Date d : rdates){
result.add(new DATE(new Timestamp(d.getTime()));
}

但是 oracle 日期与预期的不同。从 net.fortuna.ical4j.model.Date 20170522,20170523,20170525 我得到了 20170521,20170522,20170524 ORACLE DATE。有转移。我该如何处理?

4

1 回答 1

0

Ical4j Date 对象具有未定义为正式规范的一部分的底层时区(实现怪癖)。

默认情况下,此时区为 UTC,但是您可以使用以下兼容性提示将其更改为系统默认值:

net.fortuna.ical4j.timezone.date.floating=true

于 2017-04-26T23:02:28.743 回答