为什么在使用java日历解析时出错了月份

Ela*_*da2 0 java calendar timer

Date fakeDate = sdf.parse("15/07/2013 11:00 AM");
Calendar calendar = Calendar.getInstance()
calendar.setTime(fakeDate);
int currentMonth = calendar.get(Calendar.MONTH);
Run Code Online (Sandbox Code Playgroud)

我得到currentMonth == 6而不是7.

这是为什么?

Mar*_*oun 5

因为Calendar.MONTH是ZERO.为什么

检查文档 :(总是)

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