Функция range
Функция range
класса ZonedDateTime
возвращает объект ValueRange
, содержащий минимальное и максимальное допустимые значения для указанного поля временной единицы.
В параметр мы передаем поле временной единицы, для которого хотим получить диапазон значений.
Импорт
import java.time.ZonedDateTime
import java.time.temporal.ChronoField
import java.time.temporal.ValueRange
Синтаксис
fun range(field: TemporalField): ValueRange
Пример
Получим диапазон допустимых значений для дня месяца:
val zonedDateTime = ZonedDateTime.now()
val dayOfMonthRange = zonedDateTime.range(ChronoField.DAY_OF_MONTH)
println("Day of month range: $dayOfMonthRange")
Результат выполнения кода:
String "Day of month range: 1 - 31"
Пример
Получим диапазон допустимых значений для часа:
val zonedDateTime = ZonedDateTime.now()
val hourRange = zonedDateTime.range(ChronoField.HOUR_OF_DAY)
println("Hour range: $hourRange")
Результат выполнения кода:
String "Hour range: 0 - 23"
Пример
Получим минимальное и максимальное значение диапазона для месяца:
val zonedDateTime = ZonedDateTime.now()
val monthRange = zonedDateTime.range(ChronoField.MONTH_OF_YEAR)
val minMonth = monthRange.minimum
val maxMonth = monthRange.maximum
println("Min month: $minMonth, Max month: $maxMonth")
Результат выполнения кода:
String "Min month: 1, Max month: 12"
Пример
Проверим, является ли значение валидным для минут:
val zonedDateTime = ZonedDateTime.now()
val minuteRange = zonedDateTime.range(ChronoField.MINUTE_OF_HOUR)
val isValidMinute = minuteRange.isValidValue(45)
val isInvalidMinute = minuteRange.isValidValue(60)
println("Is 45 valid: $isValidMinute")
println("Is 60 valid: $isInvalidMinute")
Результат выполнения кода:
String "Is 45 valid: true"
String "Is 60 valid: false"
Смотрите также
-
класс
ChronoField
,
который содержит поля временных единиц