Функция range

Функция range класса ZonedDateTime возвращает объект ValueRange, содержащий минимальное и максимальное допустимые значения для указанного поля временной единицы. В параметр мы передаем поле временной единицы, для которого хотим получить диапазон значений.

Импорт

kotlinimport java.time.ZonedDateTime
import java.time.temporal.ChronoField
import java.time.temporal.ValueRange

Синтаксис

kotlinfun range(field: TemporalField): ValueRange

Пример

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

kotlinval zonedDateTime = ZonedDateTime.now()
val dayOfMonthRange = zonedDateTime.range(ChronoField.DAY_OF_MONTH)

println("Day of month range: $dayOfMonthRange")

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

kotlinString "Day of month range: 1 - 31"

Пример

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

kotlinval zonedDateTime = ZonedDateTime.now()
val hourRange = zonedDateTime.range(ChronoField.HOUR_OF_DAY)

println("Hour range: $hourRange")

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

kotlinString "Hour range: 0 - 23"

Пример

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

kotlinval 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")

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

kotlinString "Min month: 1, Max month: 12"

Пример

Проверим, является ли значение валидным для минут:

kotlinval 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")

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

kotlinString "Is 45 valid: true"
String "Is 60 valid: false"

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

  • класс ChronoField,
    который содержит поля временных единиц