代码之家  ›  专栏  ›  技术社区  ›  M.B

OffsetDateTime java8 ojdbc8 oracle插入cet到cest问题

  •  0
  • M.B  · 技术社区  · 3 年前

    你好,我在插入具有正确时区的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);
    

    在我的数据库里,我看到

    red is wrong

    它在塞斯特转换吗

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

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

    enter image description here

    正确放入数据库

    --我的连接设置

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

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

    谢谢你的帮助

    0 回复  |  直到 3 年前