繁体   English   中英

Oracle Date和EJB Date

[英]Oracle Date and EJB Date

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

您可能有不同的时区 - 数据库上的时区与Java中设置的时区不同。 基础时间实际上是相同的,但是,例如,DB上的日期在GMT中解释,Java在东部时间解释。 格林尼治标准时间午夜过后,格林威治标准时间提前一天,持续7个小时。

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

要测试是否是这种情况,请在Oracle上:

select dbtimezone,sessiontimezone from dual;

在Java上:

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

暂无
暂无

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

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