currentTimeMillis

Status
Nicht offen für weitere Antworten.

pornopizza

Mitglied
Hi,

Folgender code:

Code:
long daymillies = System.currentTimeMillis() % (1000 * 60 * 60 * 24);
int hours = (int)(daymillies / 1000 / 60 / 60);
System.out.printf("%d",hours);

Die Stundenausgabe hängt eine Stunde hinter der Systemzeit. Also wenn es lt Systemzeit 11:43 ist, wird mir ausgegeben 10. Wie kommt das?
Mit Minuten funktioniert das so ohne probleme.

PS: Mir ist klar, dass man ein workaround machen könnte. Will ich aber nicht =)

Grüße
porno
 

tfa

Top Contributor
currentTimeMillis() liefert die Zeit bezgl. UTC, Du willst aber offensichtlich MEZ. Das ist eine Stunde Unterschied.
Wenn Du nur die Uhrzeit haben oder ausgeben willst, solltest Du Dir die Klassen Calendar und DateFormat anschauen. Das ist sicherer als sich was mit currentTimeMillis zusammenzubasteln.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben