Но, похоже, это не работает:
Код: Выделить всё
Calendar cal = Calendar.getInstance();
Integer lastDay = cal.getInstance().getActualMaximum(cal.DAY_OF_MONTH);
cal.add(Calendar.MONTH, -1);
Integer prevMonth = cal.get(Calendar.MONTH);
Integer prevMonthYear = cal.get(Calendar.YEAR);
Integer lastDayPrevMonth = cal.getInstance().getActualMaximum(cal.DAY_OF_MONTH);
System.out.println("Previous month was: " + prevMonth + "-" + prevMonthYear);
System.out.println("Last day in previous month was: " + lastDayPrevMonth);
System.out.println("Last day in this month is: " + lastDay);
Код: Выделить всё
I/System.out﹕: Previous month was 10-2015
I/System.out﹕: Last day in previous month was 31
I/System.out﹕: Last day in this month is 31
Последний день в этом месяце также верен, но ясно, что последний день в предыдущем месяце был не 31, а 30.
Почему второй getActualMaximum дает тот же «последний день в месяце», что и во-первых, когда я добавляю -1?
Подробнее здесь: https://stackoverflow.com/questions/340 ... ious-month
Мобильная версия