Wie bekomme ich den Scala UTC Zeitstempel in Sekunden seit dem 1. Januar 1970?Scala UTC Zeitstempel in Sekunden seit dem 1. Januar 1970
35
A
Antwort
69
gleiche Art und Weise, wie Sie es in Java:
val timestamp: Long = System.currentTimeMillis/1000
8
Ab Java 8 es möglich ist, dies zu tun, wie so:
import java.time.Instant
unixTimestamp : Long = Instant.now.getEpochSecond
Via Antwort des micha hier: https://stackoverflow.com/a/24703573/577199
Sind Sie sicher, dass dies der UTC-Zeitstempel ist und nicht der Zeitstempel der auf dem Server eingestellten Zeit? – user1491739
Der Wert hängt von der Systemuhr ab, aber der Wert wird seit 1/1/70 UTC berechnet. Aus dem JavaDoc "Returns: die Differenz, gemessen in Millisekunden, zwischen der aktuellen Zeit und Mitternacht, 1. Januar 1970 UTC." (Anmerkung: Ich bin mir überhaupt nicht sicher, dass dies für Schaltsekunden wie die eben hinzugefügten gilt Die andere Nacht, also bin ich mir nicht sicher, ob ich es z. B. astronomischen Berechnungen anvertrauen würde.) –
@LarryOBrien Es scheint, dass es vom zugrundeliegenden OS abhängt, Sekundensprünge zu berücksichtigen, aber vom 'Date' [javadoc] (http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Date.html) "Die meisten Computeruhren sind nicht genau genug, um die Unterscheidung der Schaltsekunden widerzuspiegeln . " –