首页 > 解决方案 > OffsetDateTime java8 ojdbc8 oracle insert cet to cest问题

问题描述

您好,我在插入具有正确时区的 OffsetdateTime 时遇到问题我有字符串 20110401000000000 然后我像这样转换为 OffsetDateTime:

DateTimeFormatter dft =
                    new DateTimeFormatterBuilder()
                            .appendPattern("yyyyMMddHHmmss")
                            .appendValue(ChronoField.MILLI_OF_SECOND, 3)
                            .toFormatter();

            LocalDateTime dateTime = LocalDateTime.parse(pDateTimeString, dft);
            OffsetDateTime of = OffsetDateTime.of(dateTime, ZoneOffset.ofHours(1));

我得到 2011-04-01T00:00+01:00 - 现在一切都很好我插入数据库

 ps.setObject(3,of);

在我的数据库中我看到

红色是错误的

是否转换为 cest

好奇心------------

如果日期 2021-03-03T00:00+01:00

在此处输入图像描述

放入数据库是正确的

-- 我的连接设置

c.getDefaultTimeZone() -> 欧罗巴/苏黎世

c.getSessionTimeZone() -> 欧罗巴/苏黎世

谢谢你的帮助

标签: oraclejava-8ojdbcoffsetdatetime

解决方案


推荐阅读