Функция checkValidIntValue
Функция checkValidIntValue интерфейса TemporalField проверяет, что переданное целочисленное значение попадает в допустимый диапазон для данного поля временной шкалы.
В первый параметр мы передаем целочисленное значение для проверки, во второй параметр мы передаем объект TemporalField, для которого выполняется проверка.
Функция возвращает проверенное значение, если оно допустимо, или выбрасывает исключение DateTimeException, если значение выходит за пределы допустимого диапазона.
Импорт
import java.time.temporal.TemporalField
import java.time.temporal.ChronoField
import java.time.DateTimeException
Синтаксис
fun checkValidIntValue(value: Long, field: TemporalField): Int
Пример
Проверим допустимость значения 12 для поля ChronoField.HOUR_OF_DAY:
val field = ChronoField.HOUR_OF_DAY
val value = 12L
val res = field.checkValidIntValue(value, field)
println("Valid value: $res")
Результат выполнения кода:
String "Valid value: 12"
Пример
Попытаемся проверить недопустимое значение 25 для поля ChronoField.HOUR_OF_DAY:
val field = ChronoField.HOUR_OF_DAY
val value = 25L
try {
val res = field.checkValidIntValue(value, field)
println("Valid value: $res")
} catch (e: DateTimeException) {
println("Error: ${e.message}")
}
Результат выполнения кода:
String "Error: Invalid value for HourOfDay (valid values 0 - 23): 25"
Пример
Проверим допустимость значения 29 для поля ChronoField.DAY_OF_MONTH в феврале 2025 года:
val field = ChronoField.DAY_OF_MONTH
val value = 29L
try {
val res = field.checkValidIntValue(value, field)
println("Valid value: $res")
} catch (e: DateTimeException) {
println("Error: ${e.message}")
}
Результат выполнения кода:
String "Error: Invalid value for DayOfMonth (valid values 1 - 28): 29"
Пример
Проверим несколько значений для поля ChronoField.MONTH_OF_YEAR:
val field = ChronoField.MONTH_OF_YEAR
val values = listOf(1L, 6L, 12L, 13L)
for (value in values) {
try {
val res = field.checkValidIntValue(value, field)
println("Value $value is valid: $res")
} catch (e: DateTimeException) {
println("Value $value is invalid: ${e.message}")
}
}
Результат выполнения кода:
String "Value 1 is valid: 1"
String "Value 6 is valid: 6"
String "Value 12 is valid: 12"
String "Value 13 is invalid: Invalid value for MonthOfYear (valid values 1 - 12): 13"
Смотрите также
-
функцию
checkValidValueклассаTemporalField,
которая проверяет допустимость long значения для поля -
функцию
rangeклассаChronoField,
которая возвращает допустимый диапазон значений для поля -
функцию
checkValidIntValueклассаValueRange,
которая проверяет допустимость целочисленного значения в диапазоне -
класс
ChronoField,
который содержит стандартные поля временной шкалы