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”
我唯一的希望,我还没有测试过,就是将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我不知道这是怎么回事,但这比我昨天得到的要多哈哈哈,我会更深入地了解这一点,谢谢。