Метод isDateBased

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

Импорт

kotlinimport java.time.temporal.ChronoField

Синтаксис

kotlinboolean isDateBased()

Пример

Проверим, является ли поле DAY_OF_MONTH дато-ориентированным:

kotlinval res = ChronoField.DAY_OF_MONTH.isDateBased()
println(res)

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

kotlinBoolean true

Пример

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

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

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

kotlinBoolean false

Пример

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

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

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

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

kotlinArray<String> ['YEAR: true', 'MONTH_OF_YEAR: true', 'HOUR_OF_DAY: false', 'MINUTE_OF_HOUR: false']

Пример

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

kotlinval field = ChronoField.DAY_OF_WEEK

if (field.isDateBased()) {
  println("${field.name} is a date-based field")
} else {
  println("${field.name} is a time-based field")
}

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

kotlinString "DAY_OF_WEEK is a date-based field"

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

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