1. Обзор
Создание даты в Java было переопределено с появлением Java 8. Кроме того, новый API даты и времени из пакета java.time
можно легко использовать по сравнению со старым из пакета java.util
. В этом уроке мы увидим, как это имеет огромное значение.
В этом нам помогает класс LocalDate
из пакета java.time
. LocalDate
— это неизменяемый потокобезопасный класс . Более того, LocalDate
может содержать только значения даты и не может иметь компонент времени .
Давайте теперь посмотрим все варианты создания одного со значениями.
2. Создайте пользовательскую LocalDate
с помощью of()
Давайте рассмотрим несколько способов создания LocalDate
, представляющего 8 января 2020 года. Мы можем создать его, передав значения фабричному методу :
LocalDate date = LocalDate.of(2020, 1, 8);
Месяц также можно указать с помощью перечисления Month
:
LocalDate date = LocalDate.of(2020, Month.JANUARY, 8)
Мы также можем попытаться получить его, используя день эпохи:
LocalDate date = LocalDate.ofEpochDay(18269);
И, наконец, давайте создадим один со значениями года и дня года:
LocalDate date = LocalDate.ofYearDay(2020, 8);
3. Создайте LocalDate
, проанализировав строку
Последний вариант — создать дату путем разбора строки. Мы можем использовать метод parse
только с одним аргументом для анализа даты в формате гггг-мм-дд
:
LocalDate date = LocalDate.parse("2020-01-08");
Мы также можем указать другой шаблон, чтобы получить его, используя класс DateTimeFormatter
в качестве второго параметра метода parse
:
LocalDate date = LocalDate.parse("8-Jan-2020", DateTimeFormatter.ofPattern("d-MMM-yyyy"));
4. Вывод
В этой статье мы рассмотрели все варианты создания LocalDate
со значениями в Java . Статьи API даты и времени могут помочь нам понять больше.
Примеры доступны на GitHub .