Метод withLocale

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

Импорт

kotlinimport java.time.format.DateTimeFormatter
import java.util.Locale

Синтаксис

kotlinfun withLocale(locale: Locale): DateTimeFormatter

Пример

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

kotlinval formatter = DateTimeFormatter.ofPattern("dd MMMM yyyy")
val germanFormatter = formatter.withLocale(Locale.GERMAN)

val date = LocalDate.of(2025, 12, 31)
val formattedDate = date.format(germanFormatter)

println(formattedDate)

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

kotlinString "31 Dezember 2025"

Пример

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

kotlinval frenchFormatter = DateTimeFormatter.ofPattern("dd MMMM yyyy")
  .withLocale(Locale.FRENCH)

val dateStr = "31 décembre 2025"
val date = LocalDate.parse(dateStr, frenchFormatter)

println(date)

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

kotlinString "2025-12-31"

Пример

Сравним форматирование с разными локалями:

kotlinval date = LocalDate.of(2025, 7, 15)
val formatter = DateTimeFormatter.ofPattern("EEEE, d MMMM yyyy")

val usFormatter = formatter.withLocale(Locale.US)
val italianFormatter = formatter.withLocale(Locale.ITALIAN)

val usFormatted = date.format(usFormatter)
val itFormatted = date.format(italianFormatter)

println("US: $usFormatted")
println("IT: $itFormatted")

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

kotlinString "US: Tuesday, 15 July 2025"
String "IT: martedì, 15 luglio 2025"

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

  • функцию ofPattern класса DateTimeFormatter,
    которая создает форматтер по шаблону
  • функцию format класса DateTimeFormatter,
    которая форматирует дату и время в строку
  • функцию parse класса DateTimeFormatter,
    которая парсит строку в дату и время
  • класс LocalDate,
    который представляет дату