АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
1002 of 1310 menu
Бесплатный тренинг по JavaScript: работа с Drag-and-Drop. Начало 2 октября. Жми для записи!

Метод withChronology

Метод withChronology класса DateTimeFormatter устанавливает хронологию для форматтера. В параметр мы передаем объект хронологии, который определяет календарную систему для работы с датами.

Импорт

import java.time.format.DateTimeFormatter import java.time.chrono.Chronology import java.time.chrono.JapaneseChronology import java.time.chrono.IsoChronology

Синтаксис

fun withChronology(chrono: Chronology?): DateTimeFormatter

Пример

Используем ISO хронологию по умолчанию для форматирования даты:

val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd") .withChronology(IsoChronology.INSTANCE) val date = java.time.LocalDate.of(2025, 12, 31) val formatted = formatter.format(date) println(formatted)

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

String "2025-12-31"

Пример

Создадим форматтер без хронологии (null) и сравним с форматтером с ISO хронологией:

val formatterWithoutChrono = DateTimeFormatter.ofPattern("yyyy-MM-dd") .withChronology(null) val formatterWithChrono = DateTimeFormatter.ofPattern("yyyy-MM-dd") .withChronology(IsoChronology.INSTANCE) val date = java.time.LocalDate.of(2025, 12, 31) val result1 = formatterWithoutChrono.format(date) val result2 = formatterWithChrono.format(date) println("Without chronology: $result1") println("With ISO chronology: $result2")

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

String "Without chronology: 2025-12-31" String "With ISO chronology: 2025-12-31"

Пример

Создадим форматтер с японской хронологией для парсинга дат в японском календаре:

val formatter = DateTimeFormatter.ofPattern("GGGG y年 M月 d日") .withChronology(JapaneseChronology.INSTANCE) val dateStr = "令和 7年 12月 31日" val temporal = formatter.parse(dateStr) println(temporal)

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

String "{JapaneseEra=Heisei, YearOfEra=7, MonthOfYear=12, DayOfMonth=31},ISO"

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

  • функцию ofPattern класса DateTimeFormatter,
    которая создает форматтер по шаблону
  • функцию withZone класса DateTimeFormatter,
    которая устанавливает часовой пояс для форматтера
  • функцию withLocale класса DateTimeFormatter,
    которая устанавливает локаль для форматтера
  • класс JapaneseDate,
    который представляет дату в японском календаре