Time Formatierung - Falsches Resultat

dingo

Neues Mitglied
Hallo!

Ich möchte eine Zeitangabe wiedergeben. Leider wird immer eine falsche Zeit wiedergegeben.

Könnt ihr mir sagen, wo mein Fehler liegt?

Java:
Date d = new Date(5000);
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss:SS");
formatter.format(d);

Wenn ich 5000ms übergeben, dann erwarte ich eigentlich so ein Ergebnis:

00:00:05:00

Das Resultat ist allerdings:

01:00:05:00

Wieso wird den neben den 5 Sekunden auch noch eine Stunde wiedergegeben?

VG
Dingo
 
Date(long) erzeugt ein Datum ausgehend vom 1. Januar 1970, 00:00:00.000 GMT.
Hier in Deutschland haben wir aber die Zeitzone MEZ = GMT + 1.
Deshalb also die Stunde, da der Formatter sich wohl noch der PC-Konfiguration richtet.

Damit dieser Code überall richtig funktioniert musst du wohl mit Calender arbeiten.
 
Genau hdi 😉

Java:
public static void main(String args[]) {
        DateFormat df;
        SimpleDateFormat sdf;
        Calendar calendar = Calendar.getInstance();
        Date today = new Date();

        /*************************************************/
        System.out.println("\n Ausgabe mit toString() :\n");
 
        System.out.println("\t" + today); 
        System.out.println("\t" + calendar.getTime()); 
}


Das mit SimpleDateFormat hast ja schon raus @ TO
 
Spin fehlt da nich noch irgendwie ein
Code:
calender.setDate(today)
oder sowas?
 
Hallo und danke.

Verwende nun den Calendar und hab setTimeZone(TimeZone.getTimeZone("GMT") hinzugefügt.

Jetzt wird die Zeit richtig angezeigt.

VG
Dingo
 

Neue Themen


Zurück
Oben