Метод 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,
который представляет дату без времени