使用Calendar对象时获取月份时出错

时间:2013-10-05 04:22:34

标签: java

我正在使用Calendar API来操作日期。这是我正在尝试的代码片段。

Date date=new SimpleDateFormat("dd/mm/yyyy").parse("05/10/2013");
              Calendar cal=Calendar.getInstance();
              cal.setTime(date);
              int month=cal.get(Calendar.MONTH);

这里我应该将月份作为9(10月),但是它返回0(1月)。即使我更改日期,它仍然返回0(1月)。         为什么会这样?请帮帮我。

2 个答案:

答案 0 :(得分:2)

使用 MM代替mm m提供分钟获取月份使用大写M

Date date=new SimpleDateFormat("dd/MM/yyyy").parse("05/10/2013");
Calendar cal=Calendar.getInstance();
cal.setTime(date);
int month=cal.get(Calendar.MONTH);
System.out.println("" + month);

输出:

9

Java Docs

enter image description here

答案 1 :(得分:2)

在给定的日期格式中起诉MM而不是mmM指定m根据java doc指定分钟的月份。

    Date date=new SimpleDateFormat("dd/MM/yyyy").parse("05/10/2013")
    Calendar cal=Calendar.getInstance();
              cal.setTime(date);
              int month=cal.get(Calendar.MONTH); // add +1 for correct month(10) otherwise it will be 9