gpt4 book ai didi

java - 具有相同数据的两个数据库报告的时间不同

转载 作者:行者123 更新时间:2023-12-01 18:31:30 25 4
gpt4 key购买 nike

我住在亚利桑那州,MST,没有夏令时(如果有的话)。

我有两个不同的 Oracle 数据库,用于存储假期和周末的列表。存储数据的列是DATE格式,没有时间值。

但是当我使用 API 调用 2021 年 1 月假期的第一个数据库时,它报告假期日期为午夜。但是,当我在第二个数据库上调用 2021 年 1 月的所有假期时,它会将所有假期日期报告为上午 7 点。

数据库使用的查询是

SELECT *  FROM CLPUSER.HOL_DT WHERE TRIM(HOL_DT) >= ? AND  TRIM(HOL_DT) <= ?";

API 在调用数据库时使用 Vertx-jdbc。我仔细检查了 API 和数据库的配置,全部都使用 MST。

以下是 API 调用返回的值

DB1

"publicHolidayList": [

"holidayDate": "2021-01-01T00:00:00Z",
"holidayDate": "2021-01-02T00:00:00Z",
"holidayDate": "2021-01-03T00:00:00Z"
...
]

DB2

"publicHolidayList": [
"holidayDate": "2021-01-02T07:00:00Z",
"holidayDate": "2021-01-03T07:00:00Z"
...
"holidayDate": "2021-01-01T07:00:00Z" //appears at bottom
]

编辑:刚刚调试了代码,直到我了解了 vertx jdbc 如何从下划线 JDBC 库中读取它,当数据库将其存储为日期格式时,它正在从 jdbc 中读取 HOL_DT 作为时间戳。当它执行此操作时,它会转换为 UTC 的 ZoneDateTime,给出其时间值。

最佳答案

事实证明有些东西不同了。在一个环境中重新部署代码时,它开始像另一个环境一样显示“2021-01-02T07:00:00Z”。我的工作理论是,由于某种原因,其中一个 Pod 被设置为 UTC 时间,但现在设置为 MST 时间。

另外,整个条目乱序是因为它没有 Sort by 功能,当我将所有这些插入到 Oracle 中时,我忘记了第一个条目,它被放在了最后。

́\_(ツ)_/́

关于java - 具有相同数据的两个数据库报告的时间不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60158405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com