Функция range

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

Импорт

kotlinimport java.time.MonthDay
import java.time.Year
import java.time.temporal.ValueRange

Синтаксис

kotlinfun range(year: Int): ValueRange

Пример

Получим диапазон дней для февраля 2025 года (не високосный):

kotlinval monthDay = MonthDay.of(2, 1)
val range = monthDay.range(2025)
println("Range: $range")

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

kotlinString "Range: 1 - 28"

Пример

Получим диапазон дней для февраля 2024 года (високосный):

kotlinval monthDay = MonthDay.of(2, 1)
val range = monthDay.range(2024)
println("Range: $range")

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

kotlinString "Range: 1 - 29"

Пример

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

kotlinval monthDay = MonthDay.of(4, 15)
val range = monthDay.range(2025)

val minDay = range.minimum
val maxDay = range.maximum

println("Min: $minDay, Max: $maxDay")

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

kotlinString "Min: 1, Max: 30"

Пример

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

kotlinval monthDay = MonthDay.of(2, 30)
val range = monthDay.range(2025)
val isValid = range.isValidIntValue(30)

println("Is valid: $isValid")

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

kotlinString "Is valid: false"

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

  • функцию isValidYear класса MonthDay,
    которая проверяет валидность года для месяца и дня
  • функцию isLeap класса Year,
    которая проверяет, является ли год високосным
  • функцию length класса Month,
    которая возвращает длину месяца с учетом високосного года
  • класс ValueRange,
    который представляет диапазон значений