Класс ChronoField
Класс ChronoField
является перечислением, которое содержит стандартные поля для работы с датой и временем в Java Time API.
Каждое поле представляет собой компонент даты или времени, такой как год, месяц, день, час, минута, секунда и другие.
Эти поля используются для доступа и манипуляции значениями в временных объектах, таких как LocalDate
, LocalTime
и LocalDateTime
.
Импорт
import java.time.temporal.ChronoField
Синтаксис
// Доступ к полям через перечисление
ChronoField.YEAR
ChronoField.MONTH_OF_YEAR
ChronoField.DAY_OF_MONTH
ChronoField.HOUR_OF_DAY
ChronoField.MINUTE_OF_HOUR
ChronoField.SECOND_OF_MINUTE
Пример
Получим значение года из объекта LocalDate
с помощью поля ChronoField.YEAR
:
import java.time.LocalDate
import java.time.temporal.ChronoField
val date = LocalDate.of(2025, 12, 31)
val year = date.get(ChronoField.YEAR)
println("Year: $year")
Результат выполнения кода:
String "Year: 2025"
Пример
Получим значение часа из объекта LocalTime
с помощью поля ChronoField.HOUR_OF_DAY
:
import java.time.LocalTime
import java.time.temporal.ChronoField
val time = LocalTime.of(14, 30, 45)
val hour = time.get(ChronoField.HOUR_OF_DAY)
println("Hour: $hour")
Результат выполнения кода:
String "Hour: 14"
Пример
Изменим значение дня в месяце с помощью поля ChronoField.DAY_OF_MONTH
:
import java.time.LocalDate
import java.time.temporal.ChronoField
val date = LocalDate.of(2025, 12, 15)
val newDate = date.with(ChronoField.DAY_OF_MONTH, 25)
println("New date: $newDate")
Результат выполнения кода:
String "New date: 2025-12-25"
Пример
Проверим, является ли поле дато-ориентированным или время-ориентированным:
import java.time.temporal.ChronoField
val isYearDateBased = ChronoField.YEAR.isDateBased()
val isHourTimeBased = ChronoField.HOUR_OF_DAY.isTimeBased()
println("YEAR is date based: $isYearDateBased")
println("HOUR_OF_DAY is time based: $isHourTimeBased")
Результат выполнения кода:
String "YEAR is date based: true"
String "HOUR_OF_DAY is time based: true"
Смотрите также
-
класс
LocalDate
,
который представляет дату без времени -
класс
LocalTime
,
который представляет время без даты -
класс
LocalDateTime
,
который представляет дату и время -
класс
ChronoUnit
,
который предоставляет стандартные единицы измерения времени