Календарь: получите последний день предыдущего месяца.Android

Форум для тех, кто программирует под Android
Anonymous
Календарь: получите последний день предыдущего месяца.

Сообщение Anonymous »

Я хочу получить последний день предыдущего месяца.
Но, похоже, это не работает:

Код: Выделить всё

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
Итак, это предыдущий месяц, то есть ноябрь (10), учитывая, что сейчас декабрь (11).
Последний день в этом месяце также верен, но ясно, что последний день в предыдущем месяце был не 31, а 30.

Почему второй getActualMaximum дает тот же «последний день в месяце», что и во-первых, когда я добавляю -1?

Подробнее здесь: https://stackoverflow.com/questions/340 ... ious-month

Вернуться в «Android»