Datumsformatierung
Formatiere Datumswerte mit dem thread-sicheren, unveränderlichen DateTimeFormatter.
Code-Vergleich
✕ 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(
"uuuu-MM-dd");
String formatted =
LocalDate.now().format(fmt);
// Thread-safe, immutable
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
Thread-sicher
Formatierer können ohne Synchronisierung zwischen Threads geteilt werden.
Eingebaute Formate
ISO_LOCAL_DATE, ISO_INSTANT usw. für Standardformate.
Unveränderlich
Kann sicher als static-final-Konstante gespeichert werden.
Alter Ansatz
SimpleDateFormat
Moderner Ansatz
DateTimeFormatter
Seit JDK
8
Schwierigkeitsgrad
Einsteiger
JDK-Unterstützung
Datumsformatierung
Verfügbar
Weitgehend verfügbar seit JDK 8 (März 2014)
Wie es funktioniert
DateTimeFormatter ist unveränderlich und thread-sicher, im Gegensatz zu SimpleDateFormat. Er kann als Konstante gespeichert und geteilt werden. Vordefinierte Formatierer wie ISO_LOCAL_DATE stehen für gängige Formate zur Verfügung.
Zugehörige Dokumentation