Spring 数据 jpa 从 oracle 数据库返回不一致的 Date 值 table

Spring data jpa returning inconsistent values of Date from oracle database table

并且在应用程序中,如果我的服务器时区是 AEST,则上面的值显示为

2020-04-28T10:32:02

这是正确的(db 中的 utc 值和我的应用程序中收到的 AEST 值正确匹配)

并且在应用程序中,如果我的服务器时区是 AEST,则上面的值显示为

2017-01-11T20:36:34

如果我将这个 utc 时间 09:36:34 转换为 AEST 时间,那么它给我的时间是 19:36:34,而我在这里看到的是 20:36:34,即额外一小时。

所以,我无法理解这种行为:

有人知道这种行为吗?

我的应用程序是使用 jhipster 6.4.1 创建的,我发现有一个 DateTimeFormatConfiguration class 包含以下方法

@Override
    public void addFormatters(FormatterRegistry registry) {
        DateTimeFormatterRegistrar registrar = new DateTimeFormatterRegistrar();
        registrar.setUseIsoFormat(true);
        registrar.registerFormatters(registry);
    }

不确定,这是否在起作用。

谢谢大家的回答。 我发现了问题。 code/spring 数据 jpa/oracle/jhipster 没有问题。 问题出在我的计算上。

我觉得没有按照我的预期工作的日期是这样的: 11-01-2017 09:36:34

这个 utc 日期是 2020 年 1 月 11 日,如果我将它转换为 AEST,它会变成 +11 小时,因为它是在夏令时。所以我的应用程序显示正确的日期时间是 2017-01-11T20:36:34。

我觉得工作正常的日期是这个: 28-04-2020 00:32:02 这个 utc 日期 2020 年 4 月 28 日没有夏令时,如果我想将其转换为 AEST,那么我应该添加 +10 小时。

基本上我比较了错误的日期,一个是在夏令时期间,另一个是在夏令时结束之后,这就是为什么我得到不同的结果,我认为我的应用程序在某个地方失败了,无法给我一致 datetimes.but 那不是真的,我计算错了。