繁体   English   中英

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

[英]Two databases with the same data, are reporting different times

我住在亚利桑那州,MST,如果重要的话,没有 DST。

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

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

数据库使用的查询是

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

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

以下是从 API 调用返回的值

数据库1

"publicHolidayList": [

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

数据库2

"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 库中读取它,当 db 将它存储为日期格式时,它从 jdbc 中读取 HOL_DT 作为时间戳。 当它这样做时,它会在 UTC 转换为 ZoneDateTime,给出它的时间值。

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

此外,整个一个条目乱序是由于它没有按功能排序,当我将所有这些插入 Oracle 时,我忘记了第一个条目,它被放到了最后。

¯\\_(ツ)_/¯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM