LocalDateTime - класс в библиотеке Java, который представляет собой комбинацию даты и времени без учета часового пояса. Он является неизменяемым типом данных, что означает, что после создания объекта его значение нельзя изменить. Класс LocalDateTime предоставляет множество методов для работы с датой и временем, включая получение отдельных компонентов (год, месяц, день, часы, минуты и секунды) и выполнение различных операций, таких как прибавление или вычитание времени.
В этом руководстве мы рассмотрим, как создать объект LocalDateTime различными способами. Сначала мы рассмотрим создание объекта с использованием текущей даты и времени на основе системных часов компьютера. Далее мы рассмотрим создание объекта с помощью заданных значений года, месяца, дня, часа, минуты и секунды. Кроме того, мы рассмотрим создание объекта с использованием других объектов, таких как LocalDate и LocalTime.
Краткое описание класса LocalDateTime
Этот класс представляет точку во времени, указанную в локальной системе времени.
Локальная дата и время могут быть указаны с точностью до наносекунды и могут использоваться для измерения временных промежутков, а также для выполнения арифметических операций с датами, включая добавление или вычитание определенного количества времени.
Ключевые методы | Описание |
---|---|
of(int year, int month, int dayOfMonth, int hour, int minute) | Создает LocalDateTime объект из указанной даты и времени в локальной системе времени. |
now() | Возвращает текущую локальную дату и время. |
plusDays(long daysToAdd) | Добавляет заданное количество дней к текущему LocalDateTime объекту. |
minusHours(long hoursToSubtract) | Вычитает заданное количество часов из текущего LocalDateTime объекта. |
format(DateTimeFormatter formatter) | Форматирует текущую дату и время с использованием указанного форматтера. |
Класс LocalDateTime предоставляет удобные методы для работы с датами и временем в локальной системе. Он может быть использован для различных задач, таких как отображение времени, проведение вычислений с датами или изменение времени в рамках одной временной зоны.
Шаги по созданию объекта LocalDateTime
- Импортируйте класс LocalDateTime из пакета java.time:
- Используйте статический метод now() для создания текущей даты и времени:
- Используйте метод of() для создания объекта LocalDateTime с указанными значениями:
- Используйте метод parse() для создания объекта LocalDateTime из строки, соответствующей формату даты и времени:
- Используйте методы getYear(), getMonth(), getDayOfMonth(), getHour(), getMinute(), getSecond() для получения отдельных частей даты и времени:
- Используйте методы plus(), minus() для добавления или вычитания определенного количества времени:
- Используйте метод format() для форматирования объекта LocalDateTime в строку с определенным форматом:
import java.time.LocalDateTime;
LocalDateTime now = LocalDateTime.now();
LocalDateTime dateTime = LocalDateTime.of(2021, 9, 21, 12, 30, 0);
LocalDateTime dateTime = LocalDateTime.parse("2021-09-21T12:30:00");
int year = dateTime.getYear();
int month = dateTime.getMonthValue();
int day = dateTime.getDayOfMonth();
int hour = dateTime.getHour();
int minute = dateTime.getMinute();
int second = dateTime.getSecond();
LocalDateTime newDateTime = dateTime.plusDays(1);
LocalDateTime newDateTime = dateTime.minusHours(2);
String formattedDateTime = dateTime.format(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss"));
Примеры использования LocalDateTime
LocalDateTime вместе с другими классами из пакета java.time предоставляет удобные методы для работы с датой и временем. Рассмотрим несколько примеров использования этого класса:
Пример | Описание |
---|---|
LocalDateTime.now() | Создает объект LocalDateTime, содержащий текущую дату и время. |
LocalDateTime.of(2022, 12, 31, 23, 59, 59) | Создает объект LocalDateTime с заданной датой и временем. |
LocalDateTime.parse("2022-06-15T10:30:00") | Преобразует строку в объект LocalDateTime. |
localDateTime.isBefore(otherDateTime) | Проверяет, находится ли объект LocalDateTime до другого объекта LocalDateTime по отношению к времени. |
localDateTime.plusDays(5) | Добавляет заданное количество дней к объекту LocalDateTime. |
Это лишь некоторые примеры возможностей класса LocalDateTime. С помощью других методов из класса java.time можно выполнять различные операции с датой и временем, такие как форматирование, вычисление разницы между датами и многое другое.
Полезные методы класса LocalDateTime
Вот несколько полезных методов, которые можно использовать с классом LocalDateTime:
- now(): Метод now() возвращает текущую дату и время в указанном формате LocalDateTime.
- of(int year, int month, int dayOfMonth, int hour, int minute): Метод of() позволяет создать LocalDateTime с указанными значениями года, месяца, дня, часа и минуты.
- parse(CharSequence text, DateTimeFormatter formatter): Метод parse() преобразует строку в объект LocalDateTime с использованием заданного форматтера.
- format(DateTimeFormatter formatter): Метод format() преобразует LocalDateTime в строку с использованием заданного форматтера.
- plusYears(long years), plusMonths(long months), plusDays(long days), plusHours(long hours), plusMinutes(long minutes), plusSeconds(long seconds): Методы plusYears(), plusMonths(), plusDays(), plusHours(), plusMinutes(), plusSeconds() позволяют добавить указанное количество лет, месяцев, дней, часов, минут и секунд к текущему LocalDateTime.
- minusYears(long years), minusMonths(long months), minusDays(long days), minusHours(long hours), minusMinutes(long minutes), minusSeconds(long seconds): Методы minusYears(), minusMonths(), minusDays(), minusHours(), minusMinutes(), minusSeconds() позволяют вычесть указанное количество лет, месяцев, дней, часов, минут и секунд из текущего LocalDateTime.
- isBefore(LocalDateTime other), isAfter(LocalDateTime other): Методы isBefore() и isAfter() позволяют сравнить текущий LocalDateTime с другим LocalDateTime и определить, является ли текущий LocalDateTime предшествующим или последующим.
- getYear(), getMonth(), getDayOfMonth(), getHour(), getMinute(), getSecond(): Методы getYear(), getMonth(), getDayOfMonth(), getHour(), getMinute(), getSecond() позволяют получить значение года, месяца, дня, часа, минуты и секунды из текущего LocalDateTime.
Это лишь некоторые из методов, предоставляемых классом LocalDateTime. Используя и комбинируя эти методы, вы можете легко манипулировать датами и временем в Java.