SimpleDateFormat dateFormat = new SimpleDateFormat("mm/dd/yyyy");
Date date = dateFormat.parse("11/04/2011");
System.out.println(date);
System.out.println(dateFormat.format(date));
Tue Jan 04 00:11:00 IST 2011
11/04/2011
输出日期对象时显示为1月而不是11月。但是,当格式化相同的日期对象时,它正确地显示为11月。
通过制作MM / dd / yyyy,它都显示正确的结果。但是,如果mm / dd / yyyy可疑,mm / dd / yyyy会抛出一个Unparseable日期异常吗?
答案 0 :(得分:5)
常见错误:mm
is the pattern for minutes。您想使用MM
来解析/打印月份。使用MM/dd/yyyy
代替mm/dd/yyyy
。
由于您将值11
解析为日期的分钟部分,然后打印日期的第一部分, dateFormat.format(date)
的结果看起来正确。
答案 1 :(得分:4)
mm/dd/yyyy
将其更改为MM/dd/yyyy
信函日期或时间组件演示示例
M Month in year Month July; Jul; 07
m Minute in hour Number 30
参见
答案 2 :(得分:1)
请注意,不推荐使用日期。您应该使用Calendar类。
答案 3 :(得分:1)
它不是腥,大写的M表示一年中的一个月,而uncap m表示以小时为单位的分钟 咨询这个http://download.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html