【发布时间】:2019-12-05 08:23:35
【问题描述】:
我正在从 xml 解析日期字段并将其存储到 oracle db 中以满足我的要求。我的 xml 日期看起来像
<BirthDate>1960-10-24T00:00:00</BirthDate>
在 unmarhsalling xml 期间,我正在获取此日期字段的 XMLGregorianCalendar 数据类型。因此,我将此对象转换为 java.util.Date,然后将其保存到 oracle DB。但它更新了一天减去。例如,它像 23-10-1960. 这样更新。如何解决此问题并使用 xml 上的实际日期对其进行更新。
这是我的代码:
myEntity.setBirthDate(xmlDomain.getBirthDate().toGregorianCalendar().getTime());
【问题讨论】:
-
这可能是一个时区问题,但如果没有看到您的任何代码,除了猜测之外,任何人都无法做任何事情。
-
好吧,我曾经遇到过完全相同的问题。正如@JimGarrison 指出的那样,您的 oracle 数据库所考虑的和您的 java 运行时所考虑的存在时区差异。
-
@JimGarrison:我已经更新了我的代码..
-
如前所述,您的 Oracle DB 和 Java 是否在同一时区?
-
java 时区是 IST,DB 时区是 UTC
标签: java spring-boot java-8 java.util.date