Рассчитать предыдущий календарный периодJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Рассчитать предыдущий календарный период

Сообщение Anonymous »

У меня есть две временные метки: начало/конец периода (календарный месяц, неделя или день).

Мне нужно вычислить предыдущий период (предыдущий месяц, неделю и т. д.). ). Я пытался сделать это с помощью функций LocalDateTime. Например. используя getMonthOfYear() - 1 для периода месяца, но что делать с последним днем ​​(beforeDayTo)?

Например. Сентябрьский метод getDayOfMonth() возвращает 30, но для предыдущего периода (август) мне нужно 31 и т. д.

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

Long fromDateMillis = 1440277200000L;
Long toDateMillis = 1440363599000L;

LocalDateTime fromLocalDate = new LocalDateTime(fromDateMillis);
LocalDateTime toLocalDate = new LocalDateTime(toDateMillis)

int beforeYear = fromLocalDate.getYear();
int beforeMonthFrom = fromLocalDate.getMonthOfYear() - 1;
int beforeMonthTo = toLocalDate.getMonthOfYear() - 1;
int beforeDayFrom = fromLocalDate.getDayOfMonth();
int beforeDayTo = toLocalDate.getDayOfMonth();
Timestamp prevFromDate = Timestamp
.valueOf(java.time.LocalDateTime.of(beforeYear, beforeMonthFrom, 1, 0, 0, 0));
Timestamp prevToDate = Timestamp
.valueOf(java.time.LocalDateTime.of(beforeYear, beforeMonthTo, beforeDayTo, 0, 0, 0));
Как решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/324 ... dar-period
Ответить

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

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

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

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

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