String format = "yyyyMMdd";
SimpleDateFormat formatter = getSimpleDateFormat(format);
formatter.setLenient(false);
Date date = formatter.parse("07312011",new ParsePosition(0));
System.out.println(date);
这在 jdk1.4 上给出了“2500-01-01 00:00:00”,这是不正确的,并且在 jdk1.5 上返回 null
为什么在 jdk1.4 上会给出“2500-01-01 00:00:00”? 如果无法解析日期,是否默认为该日期?
更新:
我知道如果我使用 20110731 它可以工作...但是如果我通过 07312011,它会在 1.4 中给出一些随机日期,在 1.5 中给出 null 所以,我的问题是
1.4中,如果传递的日期与格式不对应,是否默认为2500-01-01?
为什么在 1.5 上返回 null?
最佳答案
尝试传递“20110731”,它对应于您指定的日期格式。
关于java - SimpleDateFormat 在 jdk1.4 上返回错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2385588/