Java 8 New Date/ Time API - Введение
Данная статья написана командой Vertex Academy. Это одна из статей из нашего Учебника по Java 8. Надеемся, что данная статья Вам будет полезна. Приятного прочтения!
1. Введение
Это вводная статья из цикла о новом Date/Time API в Java 8, в этой статье нет примеров с кодом, но зато мы расскажем зачем нужен новый API и какие нововведения пришли к нам. Примеры будут в следующей статье.
2. Зачем оно нам нужно?
Все дело в том, что старый Java API для работы с датами был не потокобезопасный, вместо того чтобы думать о датах и времени, разработчикам приходилось думать о том, как уберечь себя от ошибок в многопоточной среде. Код классов java.util.Date и SimpleDateFormatter несовершенен (к примеру месяцы начинались с 1, а дни - с 0), что делало сложным их поддержку.
Со временем стали набирать популярность сторонние библиотеки, что было вполне логично.
Новый же Java 8 Date/Time API содержит неизменные, потокобезопасные классы с продуманным дизайном на любой вкус и цвет. Содержатся они в пакете java.time
3. Список новых классов в java.time
- LocalDate – дата без времени и временных зон;
- LocalTime – время без даты и временных зон;
- LocalDateTime – дата и время без временных зон;
- ZonedDateTime – дата и время с временной зоной;
- DateTimeFormatter – форматирует даты в строки и наоборот, только для классов java.time;
- Instant – колличество секунд с Unix epoch time (полночь 1 января 1970 UTC);
- Duration – продолжительность в секундах и наносекундах;
- Period – период времени в годах, месяцах и днях;
- TemporalAdjuster – корректировщик дат (к примеру, может получить дату следующего понедельника);
В следующей статье мы рассмотрим как получить текущую или задать желаемую дату и время. Спасибо, что были с нами 🙂
Есть возможность записаться на наши курсы по Java. Детальную информацию смотрите у нас на сайте.