Bester Weg um String in Date in DB zu schreiben

dg87

Erfahrenes Mitglied
Hallo miteinander

ich bekomme von einer XML Datei den Wert als String: 2013-06-18T18:30:00Z
Die Formate sind immer so und ich würd das gerne in meine mysql DB reinschreiben.

Ich überlege wie ich am besten vorgehe, vll gibt es unter Profis was einfacheres?

Ich würde:
- via split() erstmal beim T abschneiden, damit ich das Datum habe.
- Das Z mit String Replace bei Uhrzeit raushauen
- Die Strings wieder zusammenfügen und in Datum umwandeln und dann ab in die DB

Was meint ihr? Ist ein umständlicher Weg, oder?
 
Nein genau der richtige Weg ;) ich würde des genauso machen und ich kann mir auch nicht vorstellen, dass es da einen schnelleren Weg gibt
 
Ich krieg noch die Krise mit dem Datum formatieren. Das ist bei meinem XML Import noch mein einziges Problem.
Hier mal ein Beispiel:
In der XML steht das Datum als String so: 2013-06-24T19:00:00Z

Meine Funktion soll ja eigentlich den String so umbauen, dass ich das in die DB pumpen kann:

Code:
 private Calendar StringToDate(String xmlDate, HttpServletRequest request) throws ParseException{
    
    // formats string from xml -> ex. 2013-06-18T18:30:00Z
    String[] replaceDate = xmlDate.split("T");
    String onlyDate = replaceDate[0].replaceAll("-", ".");
    String onlyTime = replaceDate[1].replace("Z", "");
    
    Locale locale = getLocale(request);
    DateFormatter dateFormatter = new DateFormatter(locale);
    Calendar date = dateFormatter.constructDate(onlyDate, onlyTime);
    
    
    return date;
  }

In der Datenbank steht nun aber drinnen: 2029-12-04 19:00

Bitte um Hilfe das gibt es doch nicht...
 
Geht's so?

Code:
			String dateAsString = "2013-06-24T19:00:00Z";
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
			System.out.println(df.parse(dateAsString));

Ausgabe

Code:
Mon Jun 24 19:00:00 CEST 2013
 
Was ist das dann für ein Typ, ich muss ja Calendar zurückgeben...
Ich kriegs ned hin, DateFormat nimmt er mir auch nicht.

Ich muss das Datum ja als Calendar übergeben....
 
ich komm hier einfach nicht weiter. Das wäre wirklich klasse wenn mir hier jemand helfen würde.
Ich möchte doch nur das Datum in die DB eintragen :(
Den String hab ich ja - wie man sieht - oben schon zerpflügt, sodass man es nur noch SAUBER als Calendar umbauen muss damit die DB das frisst...
 
Zurück