Дата и время в Java 8

До Java 8 для работы с датой и временем использовались классы java.util.Date и java.util.Calendar. У них было много недостатков, например:

  • не потокобезопасный, 
  • изменяемые объекты,
  • временная зона даты – это временная зона JVM по умолчанию,
  • месяца начинаются с нуля.

В Java 8 добавили новую библиотеку, которая содержит неизменные (immutable), потокобезопасные классы с более продуманным дизайном. Это классы LocalDate, LocalTime, LocalDateTime, Instant, Period и Duration. Содержатся они в пакете java.time  и не содержат информацию о временной зоне (кроме класса Instant).

LocalDate, LocalTime, LocalDateTime и Instant реализуют интерфейс java.time.temporal.Temporal. Period и Duration реализуют интерфейс java.time.temporal.TemporalAmount.

  1. Класс LocalDate
  2. Класс LocalTime
  3. Класс LocalDateTime
  4. Класс Instant
  5. Класс Period
  6. Класс Duration
  7. Класс DateTimeFormatter в Java 8
  8. Задания
Comments