Метод isTimeBased

Метод isTimeBased класса ChronoUnit возвращает true, если данная единица измерения времени основана на времени (часы, минуты, секунды и т.д.), и false, если единица основана на дате (дни, месяцы, годы и т.д.).

Импорт

kotlinimport java.time.temporal.ChronoUnit

Синтаксис

kotlinval isTimeBased: Boolean = chronoUnit.isTimeBased()

Пример

Проверим, является ли единица HOURS временной:

kotlinval res = ChronoUnit.HOURS.isTimeBased()
println(res)

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

kotlinBoolean true

Пример

Проверим, является ли единица DAYS временной:

kotlinval res = ChronoUnit.DAYS.isTimeBased()
println(res)

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

kotlinBoolean false

Пример

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

kotlinval units = listOf(
  ChronoUnit.NANOS,
  ChronoUnit.SECONDS,
  ChronoUnit.HOURS,
  ChronoUnit.DAYS,
  ChronoUnit.MONTHS,
  ChronoUnit.YEARS
)

for (unit in units) {
  val isTime = unit.isTimeBased()
  println("$unit: $isTime")
}

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

kotlinString "NANOS: true"
String "SECONDS: true"
String "HOURS: true"
String "DAYS: false"
String "MONTHS: false"
String "YEARS: false"

Пример

Используем метод для условной логики в зависимости от типа единицы измерения:

kotlinval unit = ChronoUnit.MINUTES

if (unit.isTimeBased()) {
  println("$unit is a time-based unit")
} else {
  println("$unit is a date-based unit")
}

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

kotlinString "MINUTES is a time-based unit"

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

  • метод isDateBased класса ChronoUnit,
    который проверяет, основана ли единица на дате
  • метод getDuration класса ChronoUnit,
    который возвращает продолжительность единицы измерения
  • метод between класса ChronoUnit,
    который вычисляет разницу между двумя временными точками
  • класс ChronoField,
    который представляет поля даты и времени