НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
1176 of 1310 menu

Метод resolveDate

Метод resolveDate класса IsoChronology разрешает поля даты в объект ChronoLocalDate. В первый параметр мы передаем карту полей с их значениями, во второй параметр мы передаем стиль разрешения для обработки конфликтных ситуаций.

Импорт

import java.time.chrono.IsoChronology import java.time.temporal.ChronoField import java.time.temporal.ResolverStyle import java.util.HashMap

Синтаксис

fun resolveDate(fieldValues: MutableMap<TemporalField, Long>, resolverStyle: ResolverStyle): ChronoLocalDate

Пример

Разрешим поля даты для создания даты "2025-12-31":

val fieldValues = HashMap<TemporalField, Long>() fieldValues.put(ChronoField.YEAR, 2025L) fieldValues.put(ChronoField.MONTH_OF_YEAR, 12L) fieldValues.put(ChronoField.DAY_OF_MONTH, 31L) val date = IsoChronology.INSTANCE.resolveDate(fieldValues, ResolverStyle.STRICT) println(date)

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

String "2025-12-31"

Пример

Используем стиль ResolverStyle.SMART для автоматической корректировки невалидных дат:

val fieldValues = HashMap<TemporalField, Long>() fieldValues.put(ChronoField.YEAR, 2025L) fieldValues.put(ChronoField.MONTH_OF_YEAR, 2L) fieldValues.put(ChronoField.DAY_OF_MONTH, 30L) val date = IsoChronology.INSTANCE.resolveDate(fieldValues, ResolverStyle.SMART) println(date)

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

String "2025-02-28"

Пример

Проверим обработку конфликтных полей с использованием стиля ResolverStyle.LENIENT:

val fieldValues = HashMap<TemporalField, Long>() fieldValues.put(ChronoField.YEAR, 2025L) fieldValues.put(ChronoField.ALIGNED_WEEK_OF_YEAR, 53L) fieldValues.put(ChronoField.ALIGNED_DAY_OF_WEEK_IN_YEAR, 3L) val date = IsoChronology.INSTANCE.resolveDate(fieldValues, ResolverStyle.LENIENT) println(date)

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

String "2025-12-31"

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

  • функцию date класса IsoChronology,
    которая создает дату из числовых компонентов
  • функцию isLeapYear класса IsoChronology,
    которая проверяет високосный год
  • класс ChronoField,
    который представляет поля даты и времени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить