Функция rangeRefinedBy
Функция rangeRefinedBy интерфейса TemporalField возвращает объект ValueRange, представляющий диапазон допустимых значений для данного временного поля с учетом конкретного временного объекта.
В параметр мы передаем временный объект, который предоставляет контекст для уточнения диапазона значений.
Импорт
import java.time.temporal.TemporalField
import java.time.temporal.ValueRange
import java.time.LocalDate
Синтаксис
fun rangeRefinedBy(temporal: TemporalAccessor): ValueRange
Пример
Получим диапазон значений для дня месяца в феврале 2025 года:
val date = LocalDate.of(2025, 2, 1)
val range = ChronoField.DAY_OF_MONTH.rangeRefinedBy(date)
println(range)
Результат выполнения кода:
ValueRange 1 - 28
Пример
Получим диапазон значений для дня месяца в январе 2025 года:
val date = LocalDate.of(2025, 1, 1)
val range = ChronoField.DAY_OF_MONTH.rangeRefinedBy(date)
println(range)
Результат выполнения кода:
ValueRange 1 - 31
Пример
Получим диапазон значений для дня месяца в високосном году:
val date = LocalDate.of(2024, 2, 1)
val range = ChronoField.DAY_OF_MONTH.rangeRefinedBy(date)
println(range)
Результат выполнения кода:
ValueRange 1 - 29
Пример
Получим диапазон значений для часа дня:
import java.time.LocalTime
val time = LocalTime.of(12, 0)
val range = ChronoField.HOUR_OF_DAY.rangeRefinedBy(time)
println(range)
Результат выполнения кода:
ValueRange 0 - 23
Смотрите также
-
функцию
rangeклассаChronoField,
которая возвращает общий диапазон значений временного поля -
класс
ValueRange,
который представляет диапазон значений -
функцию
isLeapYearклассаLocalDate,
которая проверяет високосный год -
функцию
lengthOfMonthклассаLocalDate,
которая возвращает длину месяца