Календарь: получите последний день предыдущего месяца.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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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