我有时区相关的问题。
我在 JAVA 和 MySql 数据库中有一个程序。我不使用任何 ORM,但我有使用 mysql 连接器 java v 6.0.4 的自定义 jdbc 库
我将设置作为连接字符串的一部分发送为:
serverTimezone - America/Chicago
useTimezone - true
useJDBCCompliantTimezoneShift - false
useLegacyDatetimeCode - false
我尝试从数据库中选择一个日期,例如2019-02-13。
数据库位于美国/东部时区,运行 java 程序的服务器位于美国/芝加哥时区。
无法更改任何服务器的位置/时区。
在 Java 中,我得到一个倒退一天的日期(2019-02-12)。问题是由于时间戳引起的 -
1550034000在2019-02-13 00:00:00美国/东部
但
1550034000在2019-02-12 23:00:00美国/芝加哥
所以结果我有java.sql.Datedate 对象2019-02-12。添加时区偏移没有任何帮助,因为时间信息与日期截断。
您能否就如何在没有时区偏移的情况下获得正确的日期提出一些解决方案?
编辑:我正在使用serverTimezone设置,但我不确定值是否应该是数据库正在使用的时区,或者它只是覆盖运行应用程序的 JVM/服务器的时区。
ibeautiful
一只斗牛犬
相关分类