Добавление дня в календарь в Android завершается ошибкой 31-го

Предположим, что в настоящее время дата 28 мая. Если я вызову следующие команды, чтобы вывод стал

cal.add(Calendar.DATE, 1);  // Day = 29
cal.add(Calendar.DATE, 1);  // Day = 30
cal.add(Calendar.DATE, 1);  // Day = 31
cal.add(Calendar.DATE, 1);  // Day = 31
cal.add(Calendar.DATE, -1); // Day = 29

Почему это не переносится на следующий месяц? И почему он застрял на 31-м (, но когда вы минус один, он прыгает на 29 )?

17
задан Draken 17 December 2018 в 14:32
поделиться