日期对象的奇怪行为

Har*_*ana 1 java date

 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
Run Code Online (Sandbox Code Playgroud)

输出日期对象时,它显示为1月而不是11月.但是,当格式化相同的日期对象时,它正确显示11月.

通过制作MM/dd/yyyy,它都显示正确的结果.但是,如果mm/dd/yyyy是腥的话,mm/dd/yyyy是否会抛出一个Unparseable日期异常?

Joa*_*uer 5

常见错误:mm分钟的模式.您想用来MM解析/打印月份.用MM/dd/yyyy而不是mm/dd/yyyy.

由于您将值解析11日期的分钟部分,然后在第一个位置打印日期的分钟部分,因此dateFormat.format(date) 看起来正确的结果.