Автор оригинала: Pankaj Kumar.
Класс Java LocalDate является частью Java 8 Date API.
Java LocalDate
- Java LocalDate является неизменяемым классом и, следовательно, потокобезопасным .
- Локальные данные обеспечивают вывод данных в формате ГГГГ-ММ-дд .
- Класс LocalDate не содержит данных о времени или часовом поясе. Таким образом, LocalDate подходит для представления таких дат, как День рождения, Национальный праздник и т.д.
- Класс LocalDate реализует
Temporal
,TemporalAdjuster
,Хронолокальдат
иСериализуемые
интерфейсы. - LocalDate-это последний класс, поэтому мы не можем его расширять.
- LocalDate-это класс, основанный на значениях, поэтому мы должны использовать метод
equals()
для сравнения, равны ли два экземпляра LocalDate или нет.
Импорт класса Java LocalDate
Класс Java LocalDate находится в java.time
пакете. Таким образом, вы можете импортировать его с помощью инструкции import:
import java.time.LocalDate;
Создание экземпляра LocalDate
Существует четыре стандартных способа создания экземпляра LocalDate.
Вызов статического метода
now ()
, который возвращает текущую дату из системных часов.Путем передачи значений года, месяца и дня в метод LocalDate
of()
Используя метод LocalDate
parse ()
.Используя метод LocalDate
of Instant ()
, как показано ниже.
Получение информации о данных из класса LocalDate
Класс Java LocalDate предоставляет множество полезных методов для получения более подробной информации о дате, например, год, месяц, день года и т.д. Давайте рассмотрим их на примере некоторых программ.
getYear()
: возвращает год, содержащийся в локальном объекте данных.getMonth()
: возвращает месяц, содержащийся в локальном объекте данных.getDayOfMonth()
: возвращает день месяца, содержащийся в локальном объекте данных.getDayOfWeek()
: возвращает день недели из локального объекта Даты.getDayOfYear()
: возвращает день года из локального экземпляра данных.
Методы Java LocalDate – плюс и минус
Плюс годы(долгие годы для добавления)
: добавляет годы для добавления к значению года и возвращает копию объекта LocalDate. Поскольку локальные данные неизменяемы, указанный объект не изменяется. Также, если новая дата недействительна, то возвращаются последние действительные данные.plusWeeks(длинные недели для добавления)
: возвращает новый экземпляр LocalDate после добавления недель и недель, без изменений в указанном объекте.Плюс месяцы(долгие месяцы для добавления)
: возвращает копию указанного локального объекта данных после добавления месяцев и месяцев.plusDays(длинные дни для добавления)
: возвращает копию указанного локального объекта данных после добавления дней загрузки.minusDays(long daysToSubtract)
: возвращает копию указанного локального объекта данных после вычитания дней daysToSubtract.minusWeeks(длинные недели)
: возвращает копию указанного объекта локальной даты после вычитания недель.minusMonths(длинные месяцы)
: возвращает копию указанного локального объекта данных после вычитания месяцев.minusYears(долгие годы Для вычитания)
: возвращает копию указанного локального объекта данных после вычитания yearsToSubtract years. Если новая локальная дата недействительна (29 февраля), то возвращаются последние действительные данные.
Java LocalDate на сегодняшний день
Нам следует избегать использования устаревшего java.util.Дата
класс, но иногда нам приходится преобразовывать локальную дату в дату для поддержки устаревших версий. Ниже приведены два способа преобразования LocalDate в Дату, вы можете использовать любой из них.
package com.journaldev.java; import java.time.LocalDate; import java.time.ZoneId; import java.util.Date; public class JavaLocalDateExample { public static void main(String args[]) { LocalDate ld = LocalDate.now(); Date date = Date.from(ld.atStartOfDay(ZoneId.systemDefault()).toInstant()); System.out.println(date); // prints "Fri Nov 10 00:00:00 IST 2017" Date date1 = java.sql.Date.valueOf(ld); System.out.println(date1); // prints "2017-11-10" } }
Это все для класса java LocalDate.
Ссылки: API Doc , Статья StackOverflow