Java Datum formatieren

Datum formatieren

Java kennt für Zeit- und Datumsangaben eine eigene Klasse java.util.Date, mit der man beinahe so arbeiten kann, als wäre es ein eigener Datentyp. Wer ein Datum und/oder eine Uhrzeit ausgeben oder anzeigen möchte, muss dieses Datum formatieren.

Beim Formatieren von Datum und Uhrzeit hilft die Klasse java.text.SimpleDateFormat.
Ein Objekt dieser Klasse wird mit dem Muster (Pattern) initialisiert, nach dem man die Date-Objekte formatieren möchte. Danach kann dieses Objekt beliebig viele Datum-Objekte formatieren.
Am einfachsten ist es, die Funktionsweise anhand von Beispielen zu zeigen:

Datum formatieren

Das folgende Beispiel zeigt das aktuelle Datum in dem in Deutschland üblichen Format:
    final java.text.DateFormat df = new java.text.SimpleDateFormat("dd.MM.yyyy");
    System.out.println(df.format(new java.util.Date())); // ergibt z. B.: 05.01.2013

Das nächste Beispiel formatiert das aktuelle Datum im ebenfalls gängigen ISO-Format:

    final java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd");
    System.out.println(df.format(new java.util.Date())); // ergibt z. B.: 2013-01-05

Ebenfalls häufig wünscht man sich die vollständige Ausgabe des Datums mit ausgeschriebenem Monat:

    final java.text.DateFormat df = new java.text.SimpleDateFormat("dd. MMMM yyyy");
    System.out.println(df.format(new java.util.Date())); // ergibt z. B.: 05. Januar 2013

Wer die unterschiedlich langen Monatsnamen nicht mag, kann diese immer mit drei Buchstaben abkürzen lassen:

    final java.text.DateFormat df = new java.text.SimpleDateFormat("dd. MMM yyyy");
    System.out.println(df.format(new java.util.Date())); // ergibt z. B.: 05. Jan 2013

Uhrzeit formatieren

Ähnlich einfach lässt sich die Uhrzeit formatieren:
    final java.text.DateFormat df = new java.text.SimpleDateFormat("HH:mm:ss");
    System.out.println(df.format(new java.util.Date())); // ergibt z. B.: 19:23:45

Wer es genauer braucht, kann sich die Uhrzeit mit Millisekunden anzeigen lassen:

    final java.text.DateFormat df = new java.text.SimpleDateFormat("HH:mm:ss.SSS");
    System.out.println(df.format(new java.util.Date())); // ergibt z. B.: 19:23:45:123

Das Pattern "HH" steht dabei für die Stundenzahl von 0 bis 23. Mit "hh" (klein geschrieben) erhält man die Schreibweise von 0 bis 11. Aus 19 Uhr würde mit "hh" also "07" Uhr.

Datum plus Uhrzeit formatieren

Wir können die obigen Beispiele beliebig kombinieren, um eine formatierte Ausgabe von Datum und Uhrzeit zu erhalten.
Das folgende Beispiel gibt das aktuelle Datum im ISO-Format aus, gefolgt durch die Uhrzeit mit Stunden, Minuten und Sekunden, welche untereinander durch einen Doppelpunkt und vom Datum mit einem Leerzeichen getrennt sind.
    final java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(df.format(new java.util.Date())); // ergibt z. B.: 2013-01-05 19:23:45

Die lang ausgeschriebene Version mit dem vollen Monatsnahmen und der Uhzeit sieht dann wie folgt aus:

    final java.text.DateFormat df = new java.text.SimpleDateFormat("dd. MMMM yyyy HH:mm:ss");
    System.out.println(df.format(new java.util.Date())); // ergibt z. B.: 05. Januar 2013 19:23:45



Nach oben, Inhaltsverzeichnis, Impressum Admin: Artikel editieren