我正在使用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月)。 为什么会这样?请帮帮我。
答案 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
答案 1 :(得分:2)
在给定的日期格式中起诉MM
而不是mm
。 M
指定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