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