Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 Joda DateTimeFormatter带负信号打印_Java_Date_Jodatime_Date Formatting - Fatal编程技术网

Java Joda DateTimeFormatter带负信号打印

Java Joda DateTimeFormatter带负信号打印,java,date,jodatime,date-formatting,Java,Date,Jodatime,Date Formatting,我这周遇到了一个奇怪的案子。我有一个特定的类,它有一些类似的代码 公共类DateHelper{ 私有静态最终DateTimeFormatter格式化程序=DateTimeFormat.forPattern(“yyyy/MM/ddHH:MM:ssZ”); 公共字符串格式化日期(日期时间日期时间){ 返回格式化程序.print(dateTime).substring(0,21); } } 我有一个批处理过程,将格式化的日期写入一个文件。 问题是,毫无理由地,一个从Oracle数据库中加载Hiber

我这周遇到了一个奇怪的案子。我有一个特定的类,它有一些类似的代码

公共类DateHelper{
私有静态最终DateTimeFormatter格式化程序=DateTimeFormat.forPattern(“yyyy/MM/ddHH:MM:ssZ”);
公共字符串格式化日期(日期时间日期时间){
返回格式化程序.print(dateTime).substring(0,21);
}
}
我有一个批处理过程,将格式化的日期写入一个文件。 问题是,毫无理由地,一个从Oracle数据库中加载Hibernate的DateTime对象(其值为“03/08/16 19:56:50000000000”)被格式化为:

  • -2015/07/1719:56:50+0
而不是

  • 2016/08/0319:56:50+00
更奇怪的是,我在同一时间在数据库中有三条记录,其中两条格式正确,另一条没有

我有一个问题,这是在生产服务器中发生的,因此我没有权限调试那里的代码。将这些记录转储并在本地进行测试,一切正常(显然)

有没有人和乔达有过类似的经历? 我使用Java1.6和Joda2.4


我唯一的希望,我还没有测试过,就是将joda更新到他们的最新版本,以检查它是否有缺陷。

也许Oracle的价值
03/08/16 19:56:50000000000
不像你想象的那样是2016年。尝试用整年显示值,例如
TO_CHAR(value,'DD-MON-YYYY HH24:MI:SS')
,或者更好的是
提取(从值中提取年份)
哇,谢谢你的帮助,我得到了一个奇怪的结果。第一个查询返回03-AGO-2016 19:56:50,而第二个使用摘录的查询返回-2016我不知道这是怎么回事,但这比我昨天得到的要多哈哈哈,我会更深入地了解这一点,谢谢。