格式化后的简单日期格式将月份显示为 30 而不是正确的月份

Simple date format after formatting showing the month as 30 instead of correct month

我在 java.I 中有 "valueDate" "Wed May 08 05:30:00 IST 2013" 的日期对象 我正在使用 "yyyy-mm-dd" format.But 的 simpleDateFormat 格式化后我得到的结果是“2013 -30-08”而不是“2013-05-08”。我做错了什么。有人可以帮我吗?

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");                   

String formattedValue= dateFormat.format(valueDate);

您必须使用大写 'M' 表示月份:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); 

如您在 documentation

中所见

m 代表分钟
M代表月份

日期格式区分大小写。 mm表示分钟,试试MM

http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html