Створення LocalDate зі значеннями в Java

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);

Місяць також можна вказати за допомогою перерахування місяця :

LocalDate date = LocalDate.of(2020, Month.JANUARY, 8)

Ми також можемо спробувати отримати його, використовуючи день епохи:

LocalDate date = LocalDate.ofEpochDay(18269);

І нарешті, давайте створимо таку зі значеннями року та дня року:

LocalDate date = LocalDate.ofYearDay(2020, 8);

3. Створіть LocalDate шляхом аналізу рядка

Останній варіант - створити дату, проаналізувавши рядок. Ми можемо використовувати метод синтаксичного аналізу лише з одним аргументом для синтаксичного аналізу дати у форматі рррр-мм-дд :

LocalDate date = LocalDate.parse("2020-01-08");

Ми також можемо вказати інший шаблон, щоб отримати його, використовуючи клас DateTimeFormatter як другий параметр методу синтаксичного аналізу :

LocalDate date = LocalDate.parse("8-Jan-2020", DateTimeFormatter.ofPattern("d-MMM-yyyy"));

4. Висновок

У цій статті ми побачили всі варіанти створення LocalDate зі значеннями в Java . Статті про API дати та часу можуть допомогти нам зрозуміти більше.

Приклади доступні на GitHub.