# currentTimeMillis



## pornopizza (26. Okt 2007)

Hi,

Folgender 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 (26. Okt 2007)

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.


----------

