java.util.calendar中的默认字段值错误

时间:2012-11-01 19:30:43

标签: java calendar

我正在创建java.util.Calendar类的实例:

Calendar rightNow = Calendar.getInstance();

getInstance()使用默认时区和区域设置获得Calendar ...现在在波兰的20:22 1.11.2012,但是当我打印rightNow字段时,结果是错误的:

System.out.print(rightNow.get(Calendar.MONTH));
result: 10.

System.out.print(rightNow.get(Calendar.DAY_OF_MONTH));
result: 1.

System.out.print(rightNow.get(Calendar.DATE));
result: 1.

我认为在12月YEAR字段也是错误的。有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:7)

当您使用日历而非1

时,月份从0开始

根据javadoc

  

get和set的字段编号,表示月份。这是特定于日历的值。格列高利历和朱利安历的一年中的第一个月是1月,即0;最后一个取决于一年中的月数。