Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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时间异常_Java_Oracle_Datetime - Fatal编程技术网

Java时间异常

Java时间异常,java,oracle,datetime,Java,Oracle,Datetime,我使用这段代码设置一个旧日期并将其存储在数据库中,但当我从数据库中检索它时,该值与我存储的值不同。你能告诉我调试的正确方向吗 new Timestamp(new SimpleDateFormat("dd-MMM-yy").parse("31-DEC-79").getTime()) 我在数据库中看到的值是1981-07-12 00:00:00.0为什么会有差异?很抱歉,我在解析时将日期与月份切换。它正在正常工作和存储 这可能会提供一个线索: new Timestamp(new Simpl

我使用这段代码设置一个旧日期并将其存储在数据库中,但当我从数据库中检索它时,该值与我存储的值不同。你能告诉我调试的正确方向吗

new Timestamp(new SimpleDateFormat("dd-MMM-yy").parse("31-DEC-79").getTime())

我在数据库中看到的值是1981-07-12 00:00:00.0为什么会有差异?

很抱歉,我在解析时将日期与月份切换。它正在正常工作和存储

这可能会提供一个线索:

    new Timestamp(new SimpleDateFormat("MM-dd-yy").parse("31-12-79").getTime());
    // 1981-07-12 00:00:00.0
1981-07-12是79年第31个月的第12天(我知道-没有第31个月,但java会这样解析)


您的日期/代码不是发布的,或者您正在正确解析日期,但您的数据库预期的日期是美国格式(MM dd yy),而您发送的日期是欧洲格式(dd MM yy)-日期/月份正在交换。

这对我有效。您确定要查看数据库中的正确列/行吗?是的,我的数据库表中只有一列带有时间戳。我是否需要设置时区或类似的设置?您是否可以发布用于在数据库中存储此值的代码,并在以后检索它?您如何更新数据库?准备好的报表等?你能把代码也贴出来吗?我怀疑时区会造成2年的差异。基本上,我填充了我的域对象,我的服务方法调用了hibernate会话的saveOrUpdate方法。