Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
1102 of 1310 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Метод checkValidValue

Метод checkValidValue класса ChronoField проверяет, что переданное значение long находится в допустимом диапазоне для данного поля даты-времени. В первый параметр мы передаем значение для проверки. Метод возвращает это же значение, если оно валидно, или выбрасывает исключение DateTimeException, если значение выходит за пределы допустимого диапазона.

Импорт

import java.time.temporal.ChronoField

Синтаксис

fun checkValidValue(value: Long): Long

Пример

Проверим валидность значения для поля DAY_OF_MONTH:

val dayValue = 15L val validDay = ChronoField.DAY_OF_MONTH.checkValidValue(dayValue) println("Valid day: $validDay")

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

String "Valid day: 15"

Пример

Попробуем проверить невалидное значение для поля HOUR_OF_DAY:

try { val hourValue = 25L val validHour = ChronoField.HOUR_OF_DAY.checkValidValue(hourValue) println("Valid hour: $validHour") } catch (e: Exception) { println("Error: ${e.message}") }

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

String "Error: Invalid value for HourOfDay (valid values 0 - 23): 25"

Пример

Проверим несколько значений для разных полей:

val valuesToCheck = mapOf( ChronoField.MONTH_OF_YEAR to 12L, ChronoField.MINUTE_OF_HOUR to 59L, ChronoField.SECOND_OF_MINUTE to 60L ) valuesToCheck.forEach { (field, value) -> try { val result = field.checkValidValue(value) println("$field: $value -> valid ($result)") } catch (e: Exception) { println("$field: $value -> invalid (${e.message})") } }

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

String "MONTH_OF_YEAR: 12 -> valid (12)" String "MINUTE_OF_HOUR: 59 -> valid (59)" String "SECOND_OF_MINUTE: 60 -> invalid (Invalid value for SecondOfMinute (valid values 0 - 59): 60)"

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

  • метод checkValidIntValue класса ChronoField,
    который проверяет значения типа int
  • метод range класса ChronoField,
    который возвращает допустимый диапазон значений
  • метод checkValidValue класса ValueRange,
    который проверяет значения для диапазона
  • класс ChronoField,
    который содержит поля даты-времени