Метод getRangeUnit
Метод getRangeUnit класса ChronoField возвращает единицу измерения, которая определяет полный диапазон значений для данного временного поля.
Эта единица всегда больше или равна базовой единице измерения поля и описывает весь возможный диапазон значений, который может принимать поле.
Импорт
import java.time.temporal.ChronoField
Синтаксис
fun getRangeUnit(): TemporalUnit
Пример
Получим единицу диапазона для поля DAY_OF_MONTH:
val rangeUnit = ChronoField.DAY_OF_MONTH.getRangeUnit()
println(rangeUnit)
Результат выполнения кода:
String "Months"
Пример
Сравним базовую единицу и единицу диапазона для поля HOUR_OF_DAY:
val baseUnit = ChronoField.HOUR_OF_DAY.getBaseUnit()
val rangeUnit = ChronoField.HOUR_OF_DAY.getRangeUnit()
println("Base unit: $baseUnit")
println("Range unit: $rangeUnit")
Результат выполнения кода:
String "Base unit: Hours, Range unit: Days"
Пример
Получим единицы измерения для нескольких различных полей:
val fields = listOf(
ChronoField.SECOND_OF_MINUTE,
ChronoField.MINUTE_OF_HOUR,
ChronoField.DAY_OF_YEAR,
ChronoField.MONTH_OF_YEAR
)
for (field in fields) {
val rangeUnit = field.getRangeUnit()
println("${field.name}: $rangeUnit")
}
Результат выполнения кода:
String "SECOND_OF_MINUTE: Minutes, MINUTE_OF_HOUR: Hours, DAY_OF_YEAR: Years, MONTH_OF_YEAR: Years"
Пример
Используем единицу диапазона для проверки валидности значения:
val field = ChronoField.DAY_OF_MONTH
val rangeUnit = field.getRangeUnit()
val range = field.range()
println("Field: ${field.name}")
println("Range unit: $rangeUnit")
println("Valid range: ${range.minimum} to ${range.maximum}")
Результат выполнения кода:
String "Field: DAY_OF_MONTH, Range unit: Months, Valid range: 1 to 31"
Смотрите также
-
метод
getBaseUnitклассаChronoField,
который возвращает базовую единицу измерения поля -
метод
rangeклассаChronoField,
который возвращает диапазон допустимых значений поля -
класс
ChronoUnit,
который содержит стандартные единицы измерения времени -
интерфейс
TemporalUnit,
который представляет единицу измерения временной шкалы