Метод range

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

Импорт

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

Синтаксис

kotlinfun range(): ValueRange

Пример

Получим диапазон допустимых значений для дня месяца:

kotlinval dayRange = ChronoField.DAY_OF_MONTH.range()
println("Day of month range: $dayRange")

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

kotlinString "Day of month range: 1 - 28/31"

Пример

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

kotlinval monthRange = ChronoField.MONTH_OF_YEAR.range()
println("Month of year range: $monthRange")

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

kotlinString "Month of year range: 1 - 12"

Пример

Проверим валидность дня месяца для конкретной даты:

kotlinval date = LocalDate.of(2025, 2, 1)
val dayRange = ChronoField.DAY_OF_MONTH.rangeRefinedBy(date)
val isValidDay = dayRange.isValidValue(29)

println("Is day 29 valid for February 2025: $isValidDay")

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

kotlinString "Is day 29 valid for February 2025: false"

Пример

Получим минимальное и максимальное значение для часа дня:

kotlinval hourRange = ChronoField.HOUR_OF_DAY.range()
val minHour = hourRange.minimum
val maxHour = hourRange.maximum

println("Hour range: $minHour - $maxHour")

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

kotlinString "Hour range: 0 - 23"

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

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