Функция ofPattern

Функция ofPattern класса DateTimeFormatter создает объект форматтера для работы с датами и временем по пользовательскому шаблону. В первый параметр мы передаем строку шаблона, во второй необязательный параметр можно передать локаль для локализованного форматирования.

Импорт

kotlinimport java.time.format.DateTimeFormatter

Синтаксис

kotlinfun ofPattern(pattern: String): DateTimeFormatter
kotlinfun ofPattern(pattern: String, locale: Locale): DateTimeFormatter

Команды формата

Команда Описание
y Год
yy Год, две цифры
yyyy Год, четыре цифры
M Номер месяца без нуля спереди
MM Номер месяца с нулем спереди
MMM Сокращенное название месяца
MMMM Полное название месяца
d День месяца без нуля спереди
dd День месяца с нулем спереди
H Час от 0 до 23 без нуля спереди
HH Час от 0 до 23 с нулем спереди
h Час от 1 до 12 без нуля спереди
hh Час от 1 до 12 с нулем спереди
m Минуты без нуля спереди
mm Минуты с нулем спереди
s Секунды без нуля спереди
ss Секунды с нулем спереди
e Номер дня недели без нуля спереди
ee Номер дня недели с нулем спереди
eee Название дня недели, сокращение
eeee Название дня недели, полностью
E Название дня недели, сокращение
EEEE Название дня недели, полностью
a Период дня (AM или PM)
z Часовой пояс
Z Смещение часового пояса
G Эра

Пример

Форматирование года с использованием команды y:

kotlinval formatter = DateTimeFormatter.ofPattern("y")
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "2025"

Пример

Форматирование года с использованием команды yy:

kotlinval formatter = DateTimeFormatter.ofPattern("yy")
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "25"

Пример

Форматирование года с использованием команды yyyy:

kotlinval formatter = DateTimeFormatter.ofPattern("yyyy")
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "2025"

Пример

Форматирование месяца с использованием команды M:

kotlinval formatter = DateTimeFormatter.ofPattern("M")
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "12"

Пример

Форматирование месяца с использованием команды MM:

kotlinval formatter = DateTimeFormatter.ofPattern("MM")
val date = LocalDate.of(2025, 5, 31)
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "05"

Пример

Форматирование месяца с использованием команды MMM:

kotlinval formatter = DateTimeFormatter.ofPattern("MMM", Locale.ENGLISH)
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "Dec"

Пример

Форматирование месяца с использованием команды MMMM:

kotlinval formatter = DateTimeFormatter.ofPattern("MMMM", Locale.ENGLISH)
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "December"

Пример

Форматирование дня месяца с использованием команды d:

kotlinval formatter = DateTimeFormatter.ofPattern("d")
val date = LocalDate.of(2025, 12, 5)
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "5"

Пример

Форматирование дня месяца с использованием команды dd:

kotlinval formatter = DateTimeFormatter.ofPattern("dd")
val date = LocalDate.of(2025, 12, 5)
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "05"

Пример

Форматирование часа (0-23) с использованием команды H:

kotlinval formatter = DateTimeFormatter.ofPattern("H")
val dateTime = LocalDateTime.of(2025, 12, 31, 9, 30)
val formatted = dateTime.format(formatter)
println(formatted)

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

kotlinString "9"

Пример

Форматирование часа (0-23) с использованием команды HH:

kotlinval formatter = DateTimeFormatter.ofPattern("HH")
val dateTime = LocalDateTime.of(2025, 12, 31, 9, 30)
val formatted = dateTime.format(formatter)
println(formatted)

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

kotlinString "09"

Пример

Форматирование часа (1-12) с использованием команды h:

kotlinval formatter = DateTimeFormatter.ofPattern("h a", Locale.ENGLISH)
val dateTime = LocalDateTime.of(2025, 12, 31, 14, 30)
val formatted = dateTime.format(formatter)
println(formatted)

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

kotlinString "2 PM"

Пример

Форматирование минут с использованием команды m:

kotlinval formatter = DateTimeFormatter.ofPattern("m")
val dateTime = LocalDateTime.of(2025, 12, 31, 14, 5)
val formatted = dateTime.format(formatter)
println(formatted)

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

kotlinString "5"

Пример

Форматирование минут с использованием команды mm:

kotlinval formatter = DateTimeFormatter.ofPattern("mm")
val dateTime = LocalDateTime.of(2025, 12, 31, 14, 5)
val formatted = dateTime.format(formatter)
println(formatted)

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

kotlinString "05"

Пример

Форматирование секунд с использованием команды s:

kotlinval formatter = DateTimeFormatter.ofPattern("s")
val dateTime = LocalDateTime.of(2025, 12, 31, 14, 30, 7)
val formatted = dateTime.format(formatter)
println(formatted)

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

kotlinString "7"

Пример

Форматирование секунд с использованием команды ss:

kotlinval formatter = DateTimeFormatter.ofPattern("ss")
val dateTime = LocalDateTime.of(2025, 12, 31, 14, 30, 7)
val formatted = dateTime.format(formatter)
println(formatted)

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

kotlinString "07"

Пример

Форматирование дня недели с использованием команды e:

kotlinval formatter = DateTimeFormatter.ofPattern("e")
val date = LocalDate.of(2025, 12, 31) // Среда
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "3"

Пример

Форматирование дня недели с использованием команды EEE:

kotlinval formatter = DateTimeFormatter.ofPattern("EEE", Locale.ENGLISH)
val date = LocalDate.of(2025, 12, 31) // Среда
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "Wed"

Пример

Форматирование дня недели с использованием команды EEEE:

kotlinval formatter = DateTimeFormatter.ofPattern("EEEE", Locale.ENGLISH)
val date = LocalDate.of(2025, 12, 31) // Среда
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "Wednesday"

Пример

Форматирование периода дня с использованием команды a:

kotlinval formatter = DateTimeFormatter.ofPattern("h a", Locale.ENGLISH)
val dateTimeAM = LocalDateTime.of(2025, 12, 31, 9, 30)
val dateTimePM = LocalDateTime.of(2025, 12, 31, 14, 30)
println(dateTimeAM.format(formatter))
println(dateTimePM.format(formatter))

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

kotlinString "9 AM"
String "2 PM"

Пример

Форматирование часового пояса с использованием команды z:

kotlinval formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm z")
val zonedDateTime = ZonedDateTime.of(2025, 12, 31, 14, 30, 0, 0, ZoneId.of("Europe/Moscow"))
val formatted = zonedDateTime.format(formatter)
println(formatted)

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

kotlinString "2025-12-31 14:30 MSK"

Пример

Форматирование эры с использованием команды G:

kotlinval formatter = DateTimeFormatter.ofPattern("G yyyy")
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)

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

kotlinString "AD 2025"

Пример

Создадим форматтер для даты в формате день/месяц/год:

kotlinval formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy")
val dateStr = "31/12/2025"
val date = LocalDate.parse(dateStr, formatter)
println(date)

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

kotlinString "2025-12-31"

Пример

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

kotlinimport java.util.Locale

val formatter = DateTimeFormatter.ofPattern("dd MMM yyyy", Locale.ENGLISH)
val dateStr = "31 Dec 2025"
val date = LocalDate.parse(dateStr, formatter)
println(date)

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

kotlinString "2025-12-31"

Пример

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

kotlinval formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val dateTime = LocalDateTime.of(2025, 12, 31, 23, 59, 30)
val formatted = dateTime.format(formatter)
println(formatted)

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

kotlinString "2025-12-31 23:59:30"

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

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