Новое Распределяем каналы MAX по категориям и территориям. Читать новость

Java: почему месяц `5` может оказаться июнем



В Calendar месяцы нумеруются с нуля: январь 0, май 4, июнь 5. Простая ловушка, которая легко превращается в баг.

Начиная с Java 8, для нового кода выбирайте java.time:
LocalDate date = LocalDate.of(2026, 5, 31);
LocalDate deadline = date.plusDays(7);

String text = deadline.format(
    DateTimeFormatter.ISO_LOCAL_DATE
);
// 2026-06-07
Здесь 5 означает май, а plusDays() возвращает новый объект, сохраняя исходную дату. Основные типы java.time неизменяемы и безопасны для совместного использования потоками.

Помните: `LocalDateTime` не содержит часового пояса. Для однозначного момента события используйте Instant или задавайте пояс явно.
Просмотры: 184
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти