为什么日历在 Android return 日期为 6 月 31 日?

Why Calendar in Android return date 31 June?

我设置

Calendar kal = Calendar.getInstance();

原因:

kal.add(Calendar.MINUTE, + 58);
kal.add(Calendar.MINUTE, + 58);
kal.add(Calendar.MINUTE, + 58);
....

我明白了,例如。 6 月 31 日。为什么 ?虽然六月没有31天

完整代码:

day = dpicker.getDayOfMonth();
        month = dpicker.getMonth()+1;
        year = dpicker.getYear();
        tpicker.clearFocus();
        tpicker.setIs24HourView(true);
        hour = tpicker.getCurrentHour();
        minute = tpicker.getCurrentMinute();

        Calendar calendar = Calendar.getInstance();
        calendar.set(year, month, day, hour, minute);

Calendar kal = calendar;
kal.add(...);

    datka = String.format("%02d/%02d", kal.get(Calendar.DAY_OF_MONTH), kal.get(Calendar.MONTH));

和数据 returns 31/06。

当我写 month = dpicker.getMonth(); 我得到 01/06

Calendar.MONTH从零开始,7月(索引6月)有31天。