使用jdk1.7.0_55,如果时区不是标准的,我的parseposition.errorIndex为0。
但是使用jdk1.6.0_38我得到的parseposition.errorIndex为21,用于相同的错误时区格式
以下是样本:
String date = "13 Jan 2005 21:45:34 ABC";
String format = "dd MMM yyyy HH:mm:ss z";
ParsePosition pp = new ParsePosition(0);
pp.setIndex(0);
SimpleDateFormat sd = new SimpleDateFormat(format,Locale.ENGLISH);
Date d = sd.parse(date,pp);
System.out.println("Error Index "+pp.getErrorIndex());
结果使用jdk 6:
错误索引21
结果使用jdk 7
错误索引0
为什么会有差异?
请帮忙
答案 0 :(得分:2)
确实这是一种回归。最新的Java 8版本仍然存在问题。公共OpenJDK错误跟踪器没有列出它,因此我已将其报告给Oracle进行审核。它由Oracle跟踪,审核ID:JI-9021556
不幸的是,你无法解决这个问题。