Formatieren mit DateTimeFormatter
Parsen und formatieren Sie Datumsangaben
Formatieren mit DateTimeFormatter ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.
Daten in Text umwandeln
Das standardmäßige toString eines Datums gibt es im ISO-Format aus. Um das Erscheinungsbild zu steuern oder Text in einem anderen Format als ISO einzulesen, verwenden Sie DateTimeFormatter aus dem Paket java.time.format.
Ein benutzerdefiniertes Muster
Erstellen Sie mit ofPattern einen Formatter. Buchstaben stehen für Felder: yyyy für das Jahr, MM für den Monat und dd für den Tag.
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
DateTimeFormatter f = DateTimeFormatter.ofPattern("dd/MM/yyyy");
System.out.println(date.format(f));
}
}Uhrzeit formatieren
Uhrzeitmuster verwenden HH für Stunden im 24-Stunden-Format, mm für Minuten und ss für Sekunden.
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalTime time = LocalTime.of(14, 5, 30);
DateTimeFormatter f = DateTimeFormatter.ofPattern("HH:mm:ss");
System.out.println(time.format(f));
}
}Datum und Uhrzeit kombinieren
Ein Muster kann sowohl Datums- als auch Uhrzeitfelder für ein LocalDateTime enthalten.
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime dt = LocalDateTime.of(2026, 5, 30, 9, 45);
DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
System.out.println(dt.format(f));
}
}Monatsnamen als Text
Durch die Wiederholung des Monatsbuchstabens ändert sich seine Form: MM ist eine Zahl, MMM ist ein Kurzname wie Mai und MMMM ist der vollständige Name.
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
DateTimeFormatter f = DateTimeFormatter.ofPattern("dd MMMM yyyy", Locale.ENGLISH);
System.out.println(date.format(f));
}
}Namen der Wochentage
Verwenden Sie EEEE für den vollständigen Wochentagsnamen und EEE für die Kurzform. Geben Sie eine Locale an, um eine vorhersehbare Sprache zu gewährleisten.
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
DateTimeFormatter f = DateTimeFormatter.ofPattern("EEEE, dd MMM", Locale.ENGLISH);
System.out.println(date.format(f));
}
}12-Stunden-Format
Verwenden Sie kleingeschriebenes hh für Stunden im 12-Stunden-Format und a für die AM- oder PM-Kennzeichnung.
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
LocalTime time = LocalTime.of(15, 30);
DateTimeFormatter f = DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH);
System.out.println(time.format(f));
}
}Mit einem Muster einlesen
Mit demselben Formatter können Sie Text wieder in ein Datum umwandeln. Übergeben Sie ihn als zweites Argument an parse.
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
DateTimeFormatter f = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate date = LocalDate.parse("30/05/2026", f);
System.out.println(date.getMonth());
}
}Fehlerhafte Eingaben behandeln
Wenn der Text nicht zum Muster passt, löst das Einlesen eine DateTimeParseException aus. Verpacken Sie riskante Einlesevorgänge in einen Try-Catch-Block.
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class Main {
public static void main(String[] args) {
DateTimeFormatter f = DateTimeFormatter.ofPattern("dd/MM/yyyy");
try {
LocalDate.parse("not a date", f);
} catch (DateTimeParseException e) {
System.out.println("Invalid date format!");
}
}
}Integrierte Formatter
Für häufige Anforderungen können Sie Muster überspringen und vordefinierte Formatter wie DateTimeFormatter.ISO_DATE verwenden.
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2026, 5, 30);
System.out.println(date.format(DateTimeFormatter.ISO_DATE));
}
}Formatter wiederverwenden
DateTimeFormatter ist unveränderlich und threadsicher. Erstellen Sie ihn daher einmal und verwenden Sie ihn wieder. Geben Sie immer eine Locale an, wenn Namen vorkommen, damit die Ausgabe konsistent bleibt.
Kurzer Test
Testen Sie Ihr Wissen über die Formatierung.
Zusammenfassung
Sie haben die Formatierung von Datum und Uhrzeit kennengelernt:
DateTimeFormatter.ofPatterndefiniert eine benutzerdefinierte Ausgabe- Buchstaben werden Feldern zugeordnet:
yyyy,MM,dd,HH,mm - Mehrfach wiederholte Buchstaben liefern Textformen wie
MMMMundEEEE - Mit demselben Formatter wird Text eingelesen; bei fehlerhaften Eingaben wird
DateTimeParseExceptionausgelöst - Formatter sind unveränderlich und wiederverwendbar; geben Sie für Namen eine
Localean
Häufig gestellte Fragen
Ist die Lektion „Formatieren mit DateTimeFormatter“ kostenlos?
Ja — der vollständige Text von „Formatieren mit DateTimeFormatter“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Formatieren mit DateTimeFormatter“?
Parsen und formatieren Sie Datumsangaben Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Java Academy zu starten?
Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Formatieren mit DateTimeFormatter“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?
Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- LocalDate, LocalTime, LocalDateTime
- Instant und Duration
- Perioden- und Datumsarithmetik
- Formatieren mit DateTimeFormatter