java - SimpleDateFormat 在 jdk1.4 上返回错误的日期

标签 java simpledateformat jdk1.4

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/

相关文章:

java - 日期格式化java中kk和HH的区别

java - 如何在 android 中获得接下来的 7 天?

javac - 是否可以编译 PDFRender 以在 JRE 1.4 上运行?

java - 从 Java 程序访问 Linux 环境变量

java - 如何向 camel 'To' 端点 url 添加动态值?

java - OpenCSV 解析带标题的 CSV 到列表

java - [亚马逊](500310) 无效操作 : syntax error at or near "S" RedShift Error

java - 学习 Java Web 服务细节的资源?

java - SimpleDateFormat 添加几分钟

java - JBOSS 5.1 可以在 JDK 1.4 中运行吗?