Wie kann ich ein Datum in String ausgeben in Java?

2 Antworten

Wenn ich ein Datum-Object mit (int tag, int monat, int jahr) aus Hashmap als Key ausgeben will,

Wie sieht deine Hashmap aus?

Hashmap<String, Object> map;

oder

Hashmap<Date, Object> map;

 Wenn ich es mit toString() versuche, kommt "kalender.Datum@5b37e0d2" raus..

Ich gehe mal von letzterem aus.

Dementsprechend bekommst du ja ein Date-Objekt.

Das wiederum kannst du mittels SimpleDateFormatter entsprechend in dein Ausgabe-Format formatieren, Beispielsweise so:

for (Map.Entry<Date, Object> entry : map.entrySet() {
    System.out.println(new SimpleDateFormat("dd.MM.yyyy").format(entry.getKey()));
}

Möchtest du die einzelnen Felder Separat mit INT Werten haben, empfehle ich die Verwendung von Calendar:

Calendar calendar = Calendar.getInstance();
calendar.setTime(entry.getKey();
calendar.get(Calendar.DAY_OF_MONTH);
...
DateFormat df = new SimpleDateFormat("yyyy.MM.dd");
String strDate = df.format(dateObject);