2012-12-05 2 views
38

Ich brauche die Anzahl der Millisekunden von 1970-01-01 UTC bis jetzt UTC in Java.Wie bekomme ich Millisekunden von der Epoche (1970-01-01) in Java?

Ich möchte auch die Anzahl der Millisekunden von 1970-01-01 UTC zu einem anderen UTC Datum Zeit erhalten können.

+3

zu Clock.systemUTC().instant() nennen [Was Sie versucht haben?] (Http://whathaveyoutried.com) – thegrinner

+0

es keine Forschungsanstrengungen nicht zeigen . – jlordo

+1

@PaulG - Nummer eins Grund für den Downvote ist * Forschungsaufwand *. Die Frage wird durch ein einfaches Google gelöst. –

Antwort

96

Wie wäre es mit System.currentTimeMillis()?

Vom JavaDoc:

Returns:die Differenz in Millisekunden gemessen wird, zwischen der aktuellen Zeit und Mitternacht, 1. Januar 1970 UTC

Java 8 den java.time-Framework stellt, besonders die Instant Klasse, die "... Modelle a ... Punkt auf der Zeitlinie ...":

long now = Instant.now().toEpochMilli(); 

Returns:die Anzahl der Millisekunden seit der Epoche der 1970-01-01T00: 00: 00Z - also so ziemlich die gleichen wie oben :-)

Cheers,

+2

Da diese Antwort 2012 war und Java 8 nicht dabei war, ist es ein guter. Genauso gut ist die Antwort von java.time von Prezemek. Dies berücksichtigt das aktuelle Java 8 java.time-Framework. –

+1

Zur Editierung: Ich habe ein paar Wege getestet, um eine UTC-Zeit in Millisekunden zu erhalten und java.time.Instant.now() .nachEpochMilli zu finden, um gut zu funktionieren. Ich habe dies mit den Optionen der Option ZoneDOffset.now (ZoneOffset.UTC) verglichen (die ich in anderen Posts als Optionen gesehen habe) und wie erwartet war der Ansatz von Java.time.Instant.now() auf meinem Rechner etwas schneller ... niedrige einstellige Millisekunden bei dreißig aufeinander folgenden Läufen. –

10

Auch versuchen System.currentTimeMillis()

Verwandte Themen