Java日期分析器关闭了两年

Java日期分析器关闭了两年,java,date,Java,Date,我真的不知道从哪里开始调试这个 代码: 输出: parsed: Fri Aug 15 16:00:12 EDT 2014 为什么要缩短两年零两个月?使用小型mm分钟 EEE, dd MMM yyyy HH:mm:ss Z Jigar Joshi已经回答了主要的问题-但只是一个提示,设置DateFormat.setLenient(false)(请参阅)将避免许多类似的解析问题,因为格式不会自动接受无意义的值 第二个小贴士(因为最近有点像我)是总是用上午和下午的时间戳来测试日期格式,因为很容易混

我真的不知道从哪里开始调试这个

代码:

输出:

parsed: Fri Aug 15 16:00:12 EDT 2014

为什么要缩短两年零两个月?

使用小型
mm
分钟

EEE, dd MMM yyyy HH:mm:ss Z

Jigar Joshi已经回答了主要的问题-但只是一个提示,设置
DateFormat.setLenient(false)
(请参阅)将避免许多类似的解析问题,因为格式不会自动接受无意义的值


第二个小贴士(因为最近有点像我)是总是用上午和下午的时间戳来测试日期格式,因为很容易混淆
hh
hh
格式(12小时和24小时格式)。否则,您会发现您的测试数据工作正常,但实际数据会失败并出现令人困惑的错误。

@djechlin:这只会使您的日期增加32个月。谢谢。非常有用,显然反映了我的想法。
EEE, dd MMM yyyy HH:mm:ss Z