Метод rangeRefinedBy

Метод rangeRefinedBy класса ChronoField возвращает объект ValueRange, содержащий минимальное и максимальное допустимые значения для временного поля с учетом конкретного временного объекта. В параметр мы передаем временной объект, для которого нужно определить диапазон значений.

Импорт

kotlinimport java.time.temporal.ChronoField
import java.time.LocalDate

Синтаксис

kotlinfun rangeRefinedBy(temporal: TemporalAccessor): ValueRange

Пример

Получим диапазон дней для декабря 2025 года:

kotlinval date = LocalDate.of(2025, 12, 15)
val range = ChronoField.DAY_OF_MONTH.rangeRefinedBy(date)
val minDay = range.minimum
val maxDay = range.maximum

println("Days in month: from $minDay to $maxDay")

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

kotlinString "Days in month: from 1 to 31"

Пример

Проверим диапазон дней для февраля 2025 года (не високосный):

kotlinval febDate = LocalDate.of(2025, 2, 10)
val febRange = ChronoField.DAY_OF_MONTH.rangeRefinedBy(febDate)

println("February days: ${febRange.minimum} to ${febRange.maximum}")

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

kotlinString "February days: 1 to 28"

Пример

Получим диапазон часов для временного поля:

kotlinimport java.time.LocalTime

val time = LocalTime.of(14, 30)
val hourRange = ChronoField.HOUR_OF_DAY.rangeRefinedBy(time)

println("Hour range: ${hourRange.minimum} to ${hourRange.maximum}")

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

kotlinString "Hour range: 0 to 23"

Пример

Проверим валидность значения дня месяца:

kotlinval date = LocalDate.of(2025, 4, 1)
val range = ChronoField.DAY_OF_MONTH.rangeRefinedBy(date)
val isValid = range.isValidValue(31)

println("Is day 31 valid for April: $isValid")

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

kotlinString "Is day 31 valid for April: false"

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

  • метод range класса ChronoField,
    который возвращает общий диапазон значений поля
  • класс ValueRange,
    который представляет диапазон значений
  • метод lengthOfMonth класса LocalDate,
    который возвращает количество дней в месяце
  • метод checkValidValue класса ChronoField,
    который проверяет валидность значения поля