Метод isTimeBased

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

Импорт

kotlinimport java.time.temporal.ChronoField

Синтаксис

kotlinval isTimeBased: Boolean = ChronoField.HOUR_OF_DAY.isTimeBased()

Пример

Проверим, является ли поле HOUR_OF_DAY временным:

kotlinval res = ChronoField.HOUR_OF_DAY.isTimeBased()
println(res)

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

kotlinBoolean true

Пример

Проверим, является ли поле YEAR временным:

kotlinval res = ChronoField.YEAR.isTimeBased()
println(res)

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

kotlinBoolean false

Пример

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

kotlinval fields = listOf(
  ChronoField.HOUR_OF_DAY,
  ChronoField.MINUTE_OF_HOUR,
  ChronoField.SECOND_OF_MINUTE,
  ChronoField.DAY_OF_MONTH,
  ChronoField.MONTH_OF_YEAR
)

for (field in fields) {
  val isTime = field.isTimeBased()
  println("${field.name}: $isTime")
}

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

kotlinString "HOUR_OF_DAY: true"
String "MINUTE_OF_HOUR: true"
String "SECOND_OF_MINUTE: true"
String "DAY_OF_MONTH: false"
String "MONTH_OF_YEAR: false"

Пример

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

kotlinval allFields = ChronoField.values()
val timeFields = allFields.filter { it.isTimeBased() }

println("Time-based fields:")
for (field in timeFields) {
  println(field.name)
}

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

kotlinString "Time-based fields:"
String "NANO_OF_SECOND"
String "NANO_OF_DAY"
String "MICRO_OF_SECOND"
String "MICRO_OF_DAY"
String "MILLI_OF_SECOND"
String "MILLI_OF_DAY"
String "SECOND_OF_MINUTE"
String "SECOND_OF_DAY"
String "MINUTE_OF_HOUR"
String "MINUTE_OF_DAY"
String "HOUR_OF_AMPM"
String "CLOCK_HOUR_OF_AMPM"
String "HOUR_OF_DAY"
String "CLOCK_HOUR_OF_DAY"
String "AMPM_OF_DAY"

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

  • метод isDateBased класса ChronoField,
    который проверяет, представляет ли поле дату
  • метод isTimeBased класса ChronoUnit,
    который проверяет, представляет ли единица измерения время
  • класс ChronoField,
    который содержит временные поля
  • класс LocalTime,
    который представляет время