LocalDateTime
Дата и время без часового пояса — например, время встречи в календаре.
Доступно с: Java 8
Синтаксис
public final class LocalDateTime implements Temporal, ChronoLocalDateTime<LocalDate>Примеры
Создание, изменение и части:
void main() {
LocalDateTime meeting = LocalDateTime.of(2025, 3, 14, 9, 30);
IO.println(meeting);
IO.println(meeting.plusHours(2).plusMinutes(15));
IO.println(meeting.toLocalDate() + " / " + meeting.toLocalTime());
IO.println(meeting.getHour());
}Результат:
2025-03-14T09:30
2025-03-14T11:45
2025-03-14 / 09:30
9Сравнение и начало дня:
void main() {
LocalDateTime a = LocalDateTime.of(2025, 3, 14, 18, 0);
LocalDateTime b = LocalDate.of(2025, 3, 15).atStartOfDay();
IO.println(b);
IO.println(a.isBefore(b));
}Результат:
2025-03-15T00:00
trueПримечания
LocalDateTime не знает часового пояса, поэтому не определяет точный момент времени: 09:30 в Берлине и в Токио — разные моменты. Для событий, которые нужно сравнивать между странами или хранить на сервере, используйте Instant или ZonedDateTime. Текущие дата и время — LocalDateTime.now().
См. также
- LocalDate.now() — Возвращает сегодняшнюю дату по часам и часовому поясу компьютера.
- LocalTime — Время суток без даты — например, время открытия магазина.
- ZonedDateTime — Дата и время в конкретном часовом поясе — с учётом летнего времени.
- DateTimeFormatter.ofPattern() — Создаёт форматтер для вывода и разбора дат по шаблону вроде dd.MM.yyyy.
- Duration — Промежуток времени в секундах и наносекундах — часы, минуты, секунды.
Вопросы и ответы по теме
В учебнике
- Даты и время — Пакет java.time — LocalDate, LocalTime, LocalDateTime, арифметика дат, Period, Duration, ChronoUnit, часовые пояса и Instant.