String „Fri Feb 05 17:15:59 CET 2010“ in Date Objekt umwandeln

Soll der String, der von einen Date.toString() Methode geliefert werden wieder in ein Date Objekt umgewandelt werden, geht dies mit dieser Methode.

Es muss da für Deutschland die Sommerzeit (CEST – Central European Summer Time bzw. CET – Central European Time) berücksichtigt werden.


private static Date convertStringToDate(final String datumString) {

Date datum = null;
DateFormat dateFormat = null;

try {
// Versuch mit Sommerzeit
dateFormat = new SimpleDateFormat(
"EEE MMM dd HH:mm:ss ´CEST´ yyyy", Locale.ENGLISH);
datum = dateFormat.parse(datumString);
} catch (ParseException e) {

// Versuch ohne Sommerzeit
dateFormat = new SimpleDateFormat(
"EEE MMM dd HH:mm:ss ´CET´ yyyy", Locale.ENGLISH);

try {
datum = dateFormat.parse(datumString);
} catch (ParseException e1) {
System.out.println("Konnte String: " + datumString + " nicht umwandeln.");
}
}
return datum;
}

Der Testcode:


String datumCEST = "Mon Jul 05 16:52:27 CEST 2010";
String datumCET = "Fri Feb 05 17:15:59 CET 2010";

System.out.println(convertStringToDate(datumCEST));
System.out.println(convertStringToDate(datumCET));

Das Ergebnis wieder als String:

Mon Jul 05 16:52:27 CEST 2010
Fri Feb 05 17:15:59 CET 2010