Функция isDateBased

Функция isDateBased интерфейса TemporalField возвращает true, если временное поле представляет компонент даты (например, день, месяц, год), и false, если поле представляет компонент времени (например, часы, минуты, секунды). Эта функция не принимает параметров и используется для определения природы временного поля.

Импорт

kotlinimport java.time.temporal.TemporalField
import java.time.temporal.ChronoField

Синтаксис

kotlinfun isDateBased(): Boolean

Пример

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

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

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

kotlinBoolean true

Пример

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

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

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

kotlinBoolean false

Пример

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

kotlinval dateFields = listOf(
  ChronoField.YEAR,
  ChronoField.MONTH_OF_YEAR,
  ChronoField.DAY_OF_YEAR
)

val timeFields = listOf(
  ChronoField.HOUR_OF_DAY,
  ChronoField.MINUTE_OF_HOUR,
  ChronoField.SECOND_OF_MINUTE
)

println("Date-based fields:")
for (field in dateFields) {
  println("${field.name}: ${field.isDateBased()}")
}

println("\nTime-based fields:")
for (field in timeFields) {
  println("${field.name}: ${field.isDateBased()}")
}

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

kotlinString "Date-based fields:"
String "YEAR: true"
String "MONTH_OF_YEAR: true"
String "DAY_OF_YEAR: true"
String ""
String "Time-based fields:"
String "HOUR_OF_DAY: false"
String "MINUTE_OF_HOUR: false"
String "SECOND_OF_MINUTE: false"

Пример

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

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 интерфейса TemporalField,
    которая проверяет, представляет ли поле компонент времени
  • функцию isDateBased перечисления ChronoUnit,
    которая проверяет, основана ли единица времени на дате
  • интерфейс TemporalField,
    который представляет временное поле
  • перечисление ChronoField,
    которое содержит стандартные временные поля