请考虑以下代码段
public class Test1 {
public static void main(String[] args) throws ParseException, java.text.ParseException {
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
f.setLenient(false);
String dateStr = "2008-01-23 00:00:00.0";
Date date=f.parse(dateStr);
System.out.println(date);
}
}
这在java 1.6中工作正常并且输出 Wed Jan 23 00:00:00 IST 2008
对于java 1.7,它给出了Exception
Exception in thread "main" java.text.ParseException: Unparseable date: "2008-01-23 00:00:00.0"
at java.text.DateFormat.parse(DateFormat.java:357)
我认为JAVA 1.7的行为是正确的,因为 00:00:00.0 并不属于 hh:mm:ss 格式(1-12小时格式)
我的假设是正确的,1.6有bug并在1.7中得到纠正