Метод range
Метод range класса ChronoField возвращает объект ValueRange, содержащий минимальное и максимальное допустимые значения для конкретного поля даты-времени. Этот метод полезен для проверки валидности значений перед установкой их в объекты даты-времени.
Импорт
import java.time.temporal.ChronoField
import java.time.LocalDate
Синтаксис
fun range(): ValueRange
Пример
Получим диапазон допустимых значений для дня месяца:
val dayRange = ChronoField.DAY_OF_MONTH.range()
println("Day of month range: $dayRange")
Результат выполнения кода:
String "Day of month range: 1 - 28/31"
Пример
Получим диапазон значений для месяца года:
val monthRange = ChronoField.MONTH_OF_YEAR.range()
println("Month of year range: $monthRange")
Результат выполнения кода:
String "Month of year range: 1 - 12"
Пример
Проверим валидность дня месяца для конкретной даты:
val 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")
Результат выполнения кода:
String "Is day 29 valid for February 2025: false"
Пример
Получим минимальное и максимальное значение для часа дня:
val hourRange = ChronoField.HOUR_OF_DAY.range()
val minHour = hourRange.minimum
val maxHour = hourRange.maximum
println("Hour range: $minHour - $maxHour")
Результат выполнения кода:
String "Hour range: 0 - 23"
Смотрите также
-
метод
isValidValueклассаValueRange,
который проверяет валидность значения в диапазоне -
метод
rangeRefinedByклассаChronoField,
который возвращает диапазон с учетом конкретной временной единицы -
метод
rangeклассаLocalDate,
который возвращает диапазон значений для указанного поля -
класс
ValueRange,
который представляет диапазон значений