Функция range
Функция range класса MonthDay возвращает объект ValueRange, представляющий допустимый диапазон значений для дня месяца.
В параметр мы передаем год, чтобы определить, является ли год високосным и корректно рассчитать диапазон для февраля.
Импорт
import java.time.MonthDay
import java.time.Year
import java.time.temporal.ValueRange
Синтаксис
fun range(year: Int): ValueRange
Пример
Получим диапазон дней для февраля 2025 года (не високосный):
val monthDay = MonthDay.of(2, 1)
val range = monthDay.range(2025)
println("Range: $range")
Результат выполнения кода:
String "Range: 1 - 28"
Пример
Получим диапазон дней для февраля 2024 года (високосный):
val monthDay = MonthDay.of(2, 1)
val range = monthDay.range(2024)
println("Range: $range")
Результат выполнения кода:
String "Range: 1 - 29"
Пример
Получим минимальное и максимальное значение диапазона для апреля 2025 года:
val monthDay = MonthDay.of(4, 15)
val range = monthDay.range(2025)
val minDay = range.minimum
val maxDay = range.maximum
println("Min: $minDay, Max: $maxDay")
Результат выполнения кода:
String "Min: 1, Max: 30"
Пример
Проверим, является ли значение допустимым для данного месяца и года:
val monthDay = MonthDay.of(2, 30)
val range = monthDay.range(2025)
val isValid = range.isValidIntValue(30)
println("Is valid: $isValid")
Результат выполнения кода:
String "Is valid: false"
Смотрите также
-
функцию
isValidYearклассаMonthDay,
которая проверяет валидность года для месяца и дня -
функцию
isLeapклассаYear,
которая проверяет, является ли год високосным -
функцию
lengthклассаMonth,
которая возвращает длину месяца с учетом високосного года -
класс
ValueRange,
который представляет диапазон значений