Encodera

Thanks for reading!

Donate to the site — we work hard for you.

Java reference

DateTimeFormatter.ofPattern()

Creates a formatter for printing and parsing dates with a pattern such as dd.MM.yyyy.

Available since: Java 8

Syntax

static DateTimeFormatter ofPattern(String pattern, Locale locale)

Parameters

ParameterTypeDescription
patternStringThe pattern: yyyy year, MM month, dd day, HH hours, mm minutes, MMMM month name, EEEE weekday.
localeLocaleThe language for month and weekday names. Optional; the system language by default.

Return value

DateTimeFormatterAn immutable, thread-safe formatter.

Examples

Numeric patterns:

void main() {
    LocalDateTime dt = LocalDateTime.of(2025, 3, 4, 9, 5);
    IO.println(dt.format(DateTimeFormatter.ofPattern("dd.MM.yyyy")));
    IO.println(dt.format(DateTimeFormatter.ofPattern("d/M/yy HH:mm")));
    IO.println(dt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm")));
}

Output:

04.03.2025
4/3/25 09:05
2025-03-04T09:05

Month and weekday names — with an explicit language:

void main() {
    LocalDate date = LocalDate.of(2025, 3, 14);
    var en = DateTimeFormatter.ofPattern("EEEE, d MMMM yyyy", Locale.ENGLISH);
    var de = DateTimeFormatter.ofPattern("EEEE, d. MMMM yyyy", Locale.GERMAN);
    IO.println(date.format(en));
    IO.println(date.format(de));
}

Output:

Friday, 14 March 2025
Freitag, 14. März 2025

Notes

Letter case matters: MM is month, mm minutes; HH hours 0–23, hh 1–12 (use a for AM/PM with it); yyyy is the regular year. Literal text goes in single quotes: 'at'. Ready formats are DateTimeFormatter.ISO_LOCAL_DATE and ofLocalizedDate(FormatStyle.LONG).

See also

  • LocalDate.parse() — Parses a date from a string — in ISO format (2025-03-14) or with a pattern.
  • LocalDateTime — A date and time without a time zone — for example, a meeting in a calendar.
  • String.format() — Builds a string from a template with placeholders such as %s and %d.

Related recipes

In the tutorial

  • Formatting and parsing dates — DateTimeFormatter in Java — patterns like dd.MM.yyyy, month names in the language you need, parsing a string into a date and pattern mistakes.

Thanks for reading!

Donate to the site — we work hard for you.