Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Oracle日期和EJB日期_Java_Oracle_Date_Ejb - Fatal编程技术网

Java Oracle日期和EJB日期

Java Oracle日期和EJB日期,java,oracle,date,ejb,Java,Oracle,Date,Ejb,我的Oracle数据库中有一个日期类型的列。06.09.12是其中存储的值之一。我还有一个映射到表的EJB实体,该表有一个java.util.date类型的成员字段“date”。但是,getter方法返回存储在表中的日期加上一天,例如。G07.09.12而不是06.09.12。我怎样才能准确地获得存储的日期?我应该考虑使用时间戳吗?< /p> 您可能有不同的时区-在db上的时区不同于java中设置的时区。基本时间实际上是相同的,但是,例如,DB上的日期用GMT解释,Java解释为东部时间。格林尼

我的Oracle数据库中有一个日期类型的列。06.09.12是其中存储的值之一。我还有一个映射到表的EJB实体,该表有一个java.util.date类型的成员字段“date”。但是,getter方法返回存储在表中的日期加上一天,例如。G07.09.12而不是06.09.12。我怎样才能准确地获得存储的日期?我应该考虑使用时间戳吗?< /p> 您可能有不同的时区-在db上的时区不同于java中设置的时区。基本时间实际上是相同的,但是,例如,DB上的日期用GMT解释,Java解释为东部时间。格林尼治标准时间午夜后,格林尼治标准时间提前一天7个小时左右

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

要测试是否存在这种情况,请在Oracle上执行以下操作:

select dbtimezone,sessiontimezone from dual;
关于Java:

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

如何从数据库中检索日期?数据库中的日期是否模拟时区?(NLS\U日期\U格式值是多少?)。运行java代码的机器上的用户时区值是多少?谢谢,这个问题与不同的时区有关