String-Zeitstempel (Tue Dec 29 19:23:05 +0000 2009) neu formatieren

Kryptaesthesie

Erfahrenes Mitglied
Hallo :)

Ich versuche gerade verzweifelt einen als String vorhandenen Zeitstempel im Format Tue Dec 29 19:23:05 +0000 2009 umzuformen.
Leider bekomme ich immer eine Exception.

Meine Methode sieht derzeit so aus:

Code:
public String getLastCreated() {
	String ret = lastCreated;
	
	//TODO Gerrit: Zeitstempel formatieren
	try {
		SimpleDateFormat sdf = new SimpleDateFormat("E M d kk:mm:ss Z y");
		Date d = sdf.parse(lastCreated);
		String temp = DateFormatUtils.format(d, "dd.MM.yyyy HH:mm:ss");
		if(StringUtils.isNotBlank(temp))
			ret = temp;
	} catch(ParseException e) {
		logger.error("Fehler beim Parsen eines Zeitstempels.", e);
	}
	
	return ret;
}

Ich habe versucht mit den Commons Utils zum Ziel zu kommen, das hat aber nicht geklappt. Aber evtl. geht es ja auch ohne!?


Habt ihr eine Idee, wo der Fehler sein könnte?
Danke euch schon mal!!

Gruß
Gerrit
 
Also du mußt schon die Doku richtig lesen. Für M also Kategorie Month steht da z.B.

Month: If the number of pattern letters is 3 or more, the month is interpreted as text; otherwise, it is interpreted as a number.

Du hast da nur einen stehen, daher würden nur die Zahlen 1-12 akzeptiert werden. Statt d müßte entsprechend auch dd da stehen. Und für das Jahr yyyy.

Formatieren geht dann nach dem parsen genauso mit SimpleDateFormat.format().
 
Zurück