Java

java.time — Format and Parse

admin by @admin ADMIN
20h ago
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
`DateTimeFormatter` replaces `SimpleDateFormat` (which was not thread-safe). Constants for the common formats; pattern strings for custom layouts.
Java
Raw
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

class Demo {
    void example() {
        var now = ZonedDateTime.now();

        // Built-in formatters (thread-safe constants)
        System.out.println(DateTimeFormatter.ISO_INSTANT.format(Instant.now()));
        System.out.println(DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(now));
        System.out.println(DateTimeFormatter.ISO_LOCAL_DATE.format(LocalDate.now()));

        // Custom pattern — see DateTimeFormatter Javadoc for the symbols
        var fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");
        System.out.println(fmt.format(now));      // 2025-03-12 14:25:00 CDT

        // Locale-aware
        var dateFmt = DateTimeFormatter.ofPattern("EEEE, d MMMM yyyy", Locale.FRENCH);
        System.out.println(dateFmt.format(LocalDate.now()));   // mercredi, 12 mars 2025

        // Parse
        LocalDate d = LocalDate.parse("2025-01-15");
        ZonedDateTime z = ZonedDateTime.parse("2025-03-12T14:25:00-05:00[America/Chicago]");

        // Parse with custom format
        var customFmt = DateTimeFormatter.ofPattern("dd/MM/yyyy");
        LocalDate uk = LocalDate.parse("15/01/2025", customFmt);
    }
}
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.