Jeśli użyję System.currentTimeMillis()
o 00:00, otrzymam wartość X
.System.currentTimeMillis(); Jeśli zmienię czas systemowy
Następnie ustawiam zegar z powrotem na godzinę, a po godzinie dzwonię pod numer System.currentTimeMillis()
.
powróci X
ponownie, czy będzie to po prostu być X + 3600 * 1000
Zgodnie z javadoc, zwraca * różnicę, mierzoną w milisekundach, między bieżącym czasem i północą, 1 stycznia 1970 UTC. * =>, Więc możesz oczekiwać, że zostanie on skorygowany, jeśli zmienisz zegar komputera . – assylias
Brak gwarancji, wierzę. W różnych systemach JDK musi przeskakiwać przez różne obręcze, aby uzyskać czas systemowy, i nie zawsze może reagować natychmiast na zmiany zegara systemowego. –