Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
1144 of 1310 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Класс TemporalField

TemporalField является интерфейсом в Java Time API, который представляет поле даты-времени, такое как год, месяц, день, час, минута и другие. Этот интерфейс определяет методы для доступа к значениям полей из объектов временных типов, таких как LocalDate, LocalTime и LocalDateTime. Основные реализации интерфейса находятся в классе ChronoField.

Импорт

import java.time.temporal.TemporalField import java.time.temporal.ChronoField

Синтаксис

// Получение значения поля из временного объекта fun getFrom(temporal: TemporalAccessor): Long // Проверка поддержки поля временным объектом fun isSupportedBy(temporal: TemporalAccessor): Boolean // Получение базовой единицы измерения поля fun getBaseUnit(): TemporalUnit // Получение единицы измерения диапазона поля fun getRangeUnit(): TemporalUnit // Проверка, является ли поле дато-ориентированным fun isDateBased(): Boolean // Проверка, является ли поле время-ориентированным fun isTimeBased(): Boolean // Получение диапазона допустимых значений для поля fun range(): ValueRange // Получение диапазона значений, уточненного для конкретного временного объекта fun rangeRefinedBy(temporal: TemporalAccessor): ValueRange // Проверка корректности значения для поля fun checkValidValue(value: Long): Long // Проверка корректности целочисленного значения для поля fun checkValidIntValue(value: Long): Int // Получение отображаемого имени поля fun getDisplayName(locale: Locale): String // Изменение значения поля в временном объекте fun adjustInto(temporal: Temporal, newValue: Long): Temporal

Пример

Получим значение поля ChronoField.YEAR из объекта LocalDate:

import java.time.LocalDate import java.time.temporal.ChronoField val date = LocalDate.of(2025, 12, 31) val year = date.getLong(ChronoField.YEAR) println("Year: $year")

Результат выполнения кода:

String "Year: 2025"

Пример

Проверим, поддерживается ли поле ChronoField.HOUR_OF_DAY в объекте LocalDate:

import java.time.LocalDate import java.time.temporal.ChronoField val date = LocalDate.of(2025, 12, 31) val isSupported = ChronoField.HOUR_OF_DAY.isSupportedBy(date) println("Is HOUR_OF_DAY supported: $isSupported")

Результат выполнения кода:

String "Is HOUR_OF_DAY supported: false"

Пример

Получим диапазон допустимых значений для поля ChronoField.DAY_OF_MONTH в декабре 2025 года:

import java.time.LocalDate import java.time.temporal.ChronoField val date = LocalDate.of(2025, 12, 15) val range = ChronoField.DAY_OF_MONTH.rangeRefinedBy(date) val min = range.minimum val max = range.maximum println("Day of month range: from $min to $max")

Результат выполнения кода:

String "Day of month range: from 1 to 31"

Пример

Изменим значение поля ChronoField.YEAR в объекте LocalDate:

import java.time.LocalDate import java.time.temporal.ChronoField val date = LocalDate.of(2025, 12, 31) val newDate = ChronoField.YEAR.adjustInto(date, 2030) println("New date: $newDate")

Результат выполнения кода:

String "New date: 2030-12-31"

Пример

Проверим, является ли поле ChronoField.MONTH_OF_YEAR дато-ориентированным:

import java.time.temporal.ChronoField val isDateBased = ChronoField.MONTH_OF_YEAR.isDateBased() val isTimeBased = ChronoField.MONTH_OF_YEAR.isTimeBased() println("Is date based: $isDateBased") println("Is time based: $isTimeBased")

Результат выполнения кода:

String "Is date based: true" String "Is time based: false"

Смотрите также

  • класс ChronoField,
    который содержит стандартные реализации TemporalField
  • класс LocalDate,
    который представляет дату без времени
  • класс LocalTime,
    который представляет время без даты
  • класс LocalDateTime,
    который представляет дату и время