Функция isDurationEstimated
Функция isDurationEstimated интерфейса TemporalUnit проверяет, является ли длительность временной единицы оценкой.
Временные единицы, основанные на датах, такие как MONTHS и YEARS, возвращают true, так как их точная длительность зависит от конкретной даты.
Временные единицы, основанные на времени, такие как HOURS и MINUTES, возвращают false, так как их длительность фиксирована.
Импорт
import java.time.temporal.TemporalUnit
import java.time.temporal.ChronoUnit
Синтаксис
fun isDurationEstimated(): Boolean
Пример
Проверим, является ли длительность единицы DAYS оценкой:
val isDaysEstimated = ChronoUnit.DAYS.isDurationEstimated()
println("Is DAYS estimated: $isDaysEstimated")
Результат выполнения кода:
String "Is DAYS estimated: false"
Пример
Проверим, является ли длительность единицы MONTHS оценкой:
val isMonthsEstimated = ChronoUnit.MONTHS.isDurationEstimated()
println("Is MONTHS estimated: $isMonthsEstimated")
Результат выполнения кода:
String "Is MONTHS estimated: true"
Пример
Сравним различные временные единицы:
val units = listOf(
ChronoUnit.NANOS,
ChronoUnit.SECONDS,
ChronoUnit.HOURS,
ChronoUnit.DAYS,
ChronoUnit.WEEKS,
ChronoUnit.MONTHS,
ChronoUnit.YEARS
)
for (unit in units) {
val isEstimated = unit.isDurationEstimated()
println("${unit.name}: $isEstimated")
}
Результат выполнения кода:
String "NANOS: false"
String "SECONDS: false"
String "HOURS: false"
String "DAYS: false"
String "WEEKS: false"
String "MONTHS: true"
String "YEARS: true"
Пример
Проверим все единицы из ChronoUnit:
val timeBasedUnits = mutableListOf<String>()
val dateBasedUnits = mutableListOf<String>()
for (unit in ChronoUnit.values()) {
if (unit.isDurationEstimated()) {
dateBasedUnits.add(unit.name)
} else {
timeBasedUnits.add(unit.name)
}
}
println("Time-based units (exact duration): $timeBasedUnits")
println("Date-based units (estimated duration): $dateBasedUnits")
Результат выполнения кода:
String "Time-based units (exact duration): [NANOS, MICROS, MILLIS, SECONDS, MINUTES, HOURS, HALF_DAYS]"
String "Date-based units (estimated duration): [DAYS, WEEKS, MONTHS, YEARS, DECADES, CENTURIES, MILLENNIA, ERAS]"
Смотрите также
-
функцию
getDurationинтерфейсаTemporalUnit,
которая возвращает длительность временной единицы -
функцию
isDateBasedинтерфейсаTemporalUnit,
которая проверяет, основана ли единица на дате -
функцию
isTimeBasedинтерфейсаTemporalUnit,
которая проверяет, основана ли единица на времени -
перечисление
ChronoUnit,
которое содержит стандартные временные единицы