日历MONTH字段未更新

时间:2016-02-22 12:48:28

标签: java calendar

我有代码,我必须找到MONTH,所以我们已经增加了几个月。 gettime()方法显示更新的时间,但MONTH字段未更新。在下面的示例中,更改的月份与当前月份相同。

Calendar cal = Calendar.getInstance();
System.out.println("Current time is "+ cal.getTime());
System.out.println("Current month is "+Calendar.MONTH);
cal.add(Calendar.MONTH, -2);

System.out.println("Changed time is "+ cal.getTime());
System.out.println("Changed month is "+Calendar.MONTH);

上面代码的输出是 当前时间是Mon Feb 22 17:59:13 IST 2016 本月是2 更改时间是2015年12月22日星期二17:59:13 变更月份为2

我不想使用已弃用的日历类方法来获得数月

1 个答案:

答案 0 :(得分:4)

Calendar.MONTH是一个常数整数。你想要的是:

int month = cal.get(Calendar.MONTH); // zero-based!!!
System.out.println("Month=" + (month + 1));