java 中的 DateFormat 给出了意外的结果

DateFormat in java giving unexpected result

我在 java

中创建了一个 DateFormat 对象
DateFormat formatter = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");

然后创建了一个 Date 对象

Date d = formatter.parse("2015-03-23 11:59:59");

但我得到的 d 的值是 "Fri Jan 23 11:59:59 IST 2015",但它应该是 "Mon Mar 23 11:59:59 IST 2015"

有人能解释一下为什么我会得到这个结果吗?我已经检查了解释 Java DateFormat format and parse gives unexpected result 但我指定了小写的 yyyy。

您的日期格式不正确。

您应该使用 yyyy-MM-dd HH:mm:ss 而不是 yyyy-mm-dd HH:mm:ss

我们使用 MM 表示月,而 mm 表示 Java simpelDateFormat 中的分钟数。

M   Month in year 
m   Minute in hour