Wie kann ich ein Datum in String ausgeben in Java?
Wenn ich ein Datum-Object mit (int tag, int monat, int jahr) aus Hashmap als Key ausgeben will, und zwar als String, wie kann ich es ausgeben? Wenn ich es mit toString() versuche, kommt "kalender.Datum@5b37e0d2" raus..
2 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Java
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);