gpt4 book ai didi

java - Oracle 日期和 EJB 日期

转载 作者:行者123 更新时间:2023-12-02 07:35:04 25 4
gpt4 key购买 nike

我的 Oracle 数据库中有一个 DATE 类型的列。 06.09.12 是存储在那里的值之一。我还有一个映射到该表的 EJB 实体,该表有一个 java.util.Date 类型的成员字段“date”。但是,getter 方法返回存储在表中的日期加上一天,例如。 G。 07.09.12 而不是 06.09.12。如何准确获取存储的日期?我应该考虑使用时间戳吗?

最佳答案

您可能有不同的时区 - DB 上的时区与 Java 中设置的时区不同。底层时间实际上是相同的,但是,例如,DB 上的日期在 GMT 中被解释为 GMT,而 Java 中的日期被解释为东部时间。 GMT 午夜过后,GMT 比 GMT 早一天 7 个小时左右。

这两个时区默认为服务器的时区,但可以被数据库安装和 Java VM 覆盖。

要在 Oracle 上测试是否属于这种情况:

select dbtimezone,sessiontimezone from dual;

在 Java 上:

TimeZone tz = Calendar.getInstance().getTimeZone();
System.out.println("TimeZone: "+tz.getDisplayName());

关于java - Oracle 日期和 EJB 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12363693/

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