Ich kann einen Unix-Zeitstempel in ein Date()
Objekt konvertieren, indem ich den long
Wert in den Date()
Konstruktor einsetze. Zum Beispiel: Ich könnte es als haben new Date(1318762128031)
.
Aber wie kann ich danach den Unix-Zeitstempel vom Date()
Objekt zurückbekommen ?
Antworten:
getTime()
Ruft die Millisekunden ab dem 1. Januar 1970 ab, die GMT an den Konstruktor übergeben hat. Es sollte nicht zu schwierig sein, die Unix-Zeit (gleich, aber in Sekunden) daraus zu ermitteln.quelle
getTime() = unixTimestamp * 1000
,getTime()
würde ( ) am Ende immer drei Nullen zurückgeben, kann aber tatsächlich alles vom Ende mit000
bis zurückgeben999
, was bedeutet, dass es einen höheren Wert hat Präzision durch Millisekunden und ist nicht nur "* 1000". Bedeutung: Der Vergleich eines echten unixTimestamp * 1000 mit demgetTime()
Ergebnis wäre nur in ~ 0,1% der Fälle erfolgreich.Um eine
timestamp
ausDate()
, müssen Sie teilengetTime()
durch1000
, dh:oder einfach:
quelle
new Date().getTime()
quelle
In Java 8 ist es praktisch, die neue Datumsbibliothek und
getEpochSecond
Methode zu verwenden, um den Zeitstempel abzurufen (in Sekunden).Instant.now().getEpochSecond();
quelle
Ich weiß nicht, ob Sie dies in js oder java erreichen möchten. In js ist der einfachste Weg, um den Unix-Zeitstempel zu erhalten (dies ist die Zeit in Sekunden ab dem 1.1.1970), wie folgt:
quelle
Verwenden
SimpleDateFormat
Klasse. Schauen Sie sich das Javadoc an: Es erklärt, wie man Formatschalter verwendet.quelle