Функция ofPattern
Функция ofPattern класса DateTimeFormatter создает объект форматтера для работы с датами и временем по пользовательскому шаблону.
В первый параметр мы передаем строку шаблона, во второй необязательный параметр можно передать локаль для локализованного форматирования.
Импорт
import java.time.format.DateTimeFormatter
Синтаксис
fun ofPattern(pattern: String): DateTimeFormatter
fun 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:
val formatter = DateTimeFormatter.ofPattern("y")
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "2025"
Пример
Форматирование года с использованием команды yy:
val formatter = DateTimeFormatter.ofPattern("yy")
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "25"
Пример
Форматирование года с использованием команды yyyy:
val formatter = DateTimeFormatter.ofPattern("yyyy")
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "2025"
Пример
Форматирование месяца с использованием команды M:
val formatter = DateTimeFormatter.ofPattern("M")
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "12"
Пример
Форматирование месяца с использованием команды MM:
val formatter = DateTimeFormatter.ofPattern("MM")
val date = LocalDate.of(2025, 5, 31)
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "05"
Пример
Форматирование месяца с использованием команды MMM:
val formatter = DateTimeFormatter.ofPattern("MMM", Locale.ENGLISH)
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "Dec"
Пример
Форматирование месяца с использованием команды MMMM:
val formatter = DateTimeFormatter.ofPattern("MMMM", Locale.ENGLISH)
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "December"
Пример
Форматирование дня месяца с использованием команды d:
val formatter = DateTimeFormatter.ofPattern("d")
val date = LocalDate.of(2025, 12, 5)
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "5"
Пример
Форматирование дня месяца с использованием команды dd:
val formatter = DateTimeFormatter.ofPattern("dd")
val date = LocalDate.of(2025, 12, 5)
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "05"
Пример
Форматирование часа (0-23) с использованием команды H:
val formatter = DateTimeFormatter.ofPattern("H")
val dateTime = LocalDateTime.of(2025, 12, 31, 9, 30)
val formatted = dateTime.format(formatter)
println(formatted)
Результат выполнения кода:
String "9"
Пример
Форматирование часа (0-23) с использованием команды HH:
val formatter = DateTimeFormatter.ofPattern("HH")
val dateTime = LocalDateTime.of(2025, 12, 31, 9, 30)
val formatted = dateTime.format(formatter)
println(formatted)
Результат выполнения кода:
String "09"
Пример
Форматирование часа (1-12) с использованием команды h:
val formatter = DateTimeFormatter.ofPattern("h a", Locale.ENGLISH)
val dateTime = LocalDateTime.of(2025, 12, 31, 14, 30)
val formatted = dateTime.format(formatter)
println(formatted)
Результат выполнения кода:
String "2 PM"
Пример
Форматирование минут с использованием команды m:
val formatter = DateTimeFormatter.ofPattern("m")
val dateTime = LocalDateTime.of(2025, 12, 31, 14, 5)
val formatted = dateTime.format(formatter)
println(formatted)
Результат выполнения кода:
String "5"
Пример
Форматирование минут с использованием команды mm:
val formatter = DateTimeFormatter.ofPattern("mm")
val dateTime = LocalDateTime.of(2025, 12, 31, 14, 5)
val formatted = dateTime.format(formatter)
println(formatted)
Результат выполнения кода:
String "05"
Пример
Форматирование секунд с использованием команды s:
val formatter = DateTimeFormatter.ofPattern("s")
val dateTime = LocalDateTime.of(2025, 12, 31, 14, 30, 7)
val formatted = dateTime.format(formatter)
println(formatted)
Результат выполнения кода:
String "7"
Пример
Форматирование секунд с использованием команды ss:
val formatter = DateTimeFormatter.ofPattern("ss")
val dateTime = LocalDateTime.of(2025, 12, 31, 14, 30, 7)
val formatted = dateTime.format(formatter)
println(formatted)
Результат выполнения кода:
String "07"
Пример
Форматирование дня недели с использованием команды e:
val formatter = DateTimeFormatter.ofPattern("e")
val date = LocalDate.of(2025, 12, 31) // Среда
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "3"
Пример
Форматирование дня недели с использованием команды EEE:
val formatter = DateTimeFormatter.ofPattern("EEE", Locale.ENGLISH)
val date = LocalDate.of(2025, 12, 31) // Среда
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "Wed"
Пример
Форматирование дня недели с использованием команды EEEE:
val formatter = DateTimeFormatter.ofPattern("EEEE", Locale.ENGLISH)
val date = LocalDate.of(2025, 12, 31) // Среда
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "Wednesday"
Пример
Форматирование периода дня с использованием команды a:
val 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))
Результат выполнения кода:
String "9 AM"
String "2 PM"
Пример
Форматирование часового пояса с использованием команды z:
val 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)
Результат выполнения кода:
String "2025-12-31 14:30 MSK"
Пример
Форматирование эры с использованием команды G:
val formatter = DateTimeFormatter.ofPattern("G yyyy")
val date = LocalDate.of(2025, 12, 31)
val formatted = date.format(formatter)
println(formatted)
Результат выполнения кода:
String "AD 2025"
Пример
Создадим форматтер для даты в формате день/месяц/год:
val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy")
val dateStr = "31/12/2025"
val date = LocalDate.parse(dateStr, formatter)
println(date)
Результат выполнения кода:
String "2025-12-31"
Пример
Создадим форматтер для даты и времени с указанием локали:
import 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)
Результат выполнения кода:
String "2025-12-31"
Пример
Используем форматтер для форматирования даты в строку:
val 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)
Результат выполнения кода:
String "2025-12-31 23:59:30"
Смотрите также
-
функцию
parseклассаLocalDate,
которая преобразует строку в дату -
функцию
parseклассаLocalDateTime,
которая преобразует строку в дату и время -
функцию
formatклассаDateTimeFormatter,
которая форматирует дату в строку -
класс
DateTimeFormatter,
который представляет форматтер даты и времени