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

标签 java date simpledateformat

我在java中有“valueDate”“Wed May 08 05:30:00 IST 2013”​​的日期对象。我使用“yyyy-mm-dd”格式的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代表月份

关于java - 格式化后的简单日期格式将月份显示为 30 而不是正确的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28874275/

相关文章:

php - 将 'yyyy-mm-dd hh:ii:ss' 格式的日期替换为 'yyyy-mm-05 hh:ii:ss' 的最短方法?

java - Java 垃圾收集如何与循环引用一起使用?

java - servlet 覆盖 HttpServlet 服务方法的正当理由

java - IntelliJ cucumber .ClassNotFoundException

java - Gradle - 获取依赖项的最新版本

MySQL STR_TO_DATE NULL 出错

javascript - 如何使用 jQuery 检查月份是否等于 12 月

java - 将字符串转换为星期几(不是确切日期)

java - 什么可能导致此 SimpleDateFormat 格式错误?

java - 如何检查字符串是否包含Java中的日期?