Date/Time beginner

Date formatting

Format dates with thread-safe, immutable DateTimeFormatter.

✕ Pre-Java 8
// Not thread-safe!
SimpleDateFormat sdf =
    new SimpleDateFormat("yyyy-MM-dd");
String formatted = sdf.format(date);
// Must synchronize for concurrent use
✓ Java 8+
DateTimeFormatter fmt =
    DateTimeFormatter.ofPattern(
        "yyyy-MM-dd");
String formatted =
    LocalDate.now().format(fmt);
// Thread-safe, immutable
🛡️

Thread-safe

Share formatters across threads without synchronization.

📋

Built-in formats

ISO_LOCAL_DATE, ISO_INSTANT, etc. for standard formats.

🔒

Immutable

Store as static final constants safely.

Old Approach
SimpleDateFormat
Modern Approach
DateTimeFormatter
Since JDK
8
Difficulty
beginner
Date formatting
Available

Widely available since JDK 8 (March 2014)

How it works

DateTimeFormatter is immutable and thread-safe, unlike SimpleDateFormat. It can be stored as a constant and shared. Predefined formatters like ISO_LOCAL_DATE are available for common formats.

Share 𝕏 🦋 in