SimpleDateFormat Fehler

cplanet

Grünschnabel
Hallo ich weiß zu diesen SimpleDateFormat Thema gab es schon viele Themen und auch Beiträge nur ich habe versucht mein Problem mit beispielen von hier zu lösen leider ohne Erfolg.

Zu meinen Problem:

Code:
public void quit(String username, String farbe)
	{
		try
		{
			users.put(username,1,farbe);
			SimpleDateFormat df = new SimpleDateFormat ("yyyy-MM-dd HH:MM:ss");
			Date lastlogin = new Date();
			users.put(username,3, df.format(lastlogin));
		}
		catch(Exception ex)
		{
			root.out("UserDB Error - void quit: " + ex.toString());
			ex.printStackTrace();
		}		
	}

Dies ist für ein ChatScript wenn sich ein User ausloggt und für das Lastlogin (wann er zuletzt online war) in die datenbank speichert und auch widerum ausgibt.

Das alles macht er auch korrekt.

Nur bekomme ich trotz Beispielen die Formatierung auf dd.mm.yyyy HH:mm:ss nicht hin.

Dazu werden die millisekunden ausgegeben: - Zuletzt Online: 2008-10-31 12:10:10.0 obwohl dies in die Datenbank nicht eingetragen wird.

Ich hoffe das mir bei dem Problem jemanden oder auch mehrere helfen können.

Vielen Dank
 
Ich sehe den Fehler eher beim auslesen der Daten aus der Datenbank.

Unter welchem Datentyp speicherst du es in der Datenbank?

Für mich sieht es so aus, als speicherst du es als eine Art Zeitobjekt (was natürlich richtig ist) und dieses formatierst du bei der Ausgabe nicht richtig.

Debuge mal hinein, was er wirklich draus formatiert oder mache eine Log-Ausgabe.
 
Zum speichern in die Datenbank solltest du das Date-Objekt unverändert nehmen.

Erst für die Ausgabe für den Nutzer musst du das Date-Objekt aus der Datenbank holen und dann wie gewünscht formatieren.

Bisher scheint du das Objekt zu formatieren und dann so in die Datenbank zu schreiben. Das macht nicht viel Sinn und wie du siehst gehen sogar die Millisekunden verloren.
 
Zurück