# SQL Date String in java.util.Date umwandeln



## TSH (3. Jan 2009)

Hallo,

ich möchte per DB-Abfrage auslesen, was die letzten 30 URLs waren, auf die ein Nutzer zugegriffen hat. Ich greife über eine Wrapper-Klasse auf eine MySQL-DB zurück und enthalte als Resultat eine nicht typisierte List<Map> zurück:


```
// Erzeuge Parameter (zB User 123 und Limit 5) und setze eine Query ab
Object[] params = new Object[] { 123, 5 };
List<Map> activities = databaseManager.queryForListMap("SELECT Url, Time FROM Activity WHERE userId = ? order by Time desc limit ?", params);

// Ergebnis ist eine Liste von Maps. Durchlaufe diese Liste und erzeuge passende Java-Objekte
for (Map activity : activities) {
  String url = activity.get("Url").toString();
  Date date = activity.get("Time").toString(); // Format ist "2009-01-02 22:45:11.0"
  ...
}
```

Aus dem String "2009-01-02 22:45:11.0" soll aber jetzt ein java.util.Date (nicht java.sql.Date) erzeugt werden. Kann mir da jemand einen Tipp geben? Oder ist das der komplett falsche Ansatz?


----------



## SlaterB (3. Jan 2009)

Strings kann man mit SimpleDateFormat parsen,

siehe Lehrbuch, google, Forum-Suche, oder kurz hier:
http://www.java-forum.org/de/viewtopic.php?t=80475


was ist eigentlich activity.get("Time") für ein Objekt?
wenn es schon SQL-Date oder DateTime oder sonstwas ist, dann kann man das vielleicht einfacher umwandeln

funktioniert activity.getDate("Time")?


----------



## TSH (3. Jan 2009)

Danke, das hat geklappt! activity ist eine Map<Object,Object>, deswegen funktioniert da nur get :-(


----------



## SlaterB (3. Jan 2009)

ach, ich dachte activity wäre ein ResultSet, da muss ich ja genauer hinschauen


----------

