Wie konvertiere ich 07/26/2010
mit Javascript in einen UNIX-Zeitstempel?
javascript
javascript-framework
Asim Zaidi
quelle
quelle
new Date("2010-7-26")
Wird im Internet Explorer nicht analysiert. Datum Konstruktor beruht auf der Date.parse () Methode , wenn ein String übergeben wird, die abhängig von der Implementierung in ECMA-262 3. Auflage ist und, als Folge, notorisch unflexibel im Internet Explorer.wird eine lange Epoche zurückkehren
quelle
Schauen Sie sich http://www.w3schools.com/jsref/jsref_obj_date.asp an
Es gibt eine Funktion
UTC()
, die die Millisekunden aus der Unix-Epoche zurückgibt.quelle
Sie können auch die Funktion Date.now () verwenden.
quelle
Funktioniert genauso wie oben. Wenn Sie Sekunden brauchen, vergessen Sie nicht
/ 1000
quelle
Einige Antworten erklären nicht die Nebenwirkungen von Variationen in der Zeitzone für das JavaScript-Datumsobjekt. Sie sollten diese Antwort daher in Betracht ziehen, wenn Sie diesbezüglich Bedenken haben.
Methode 1: Zeitzonenabhängig der Maschine
Standardmäßig gibt JavaScript ein Datum unter Berücksichtigung der Zeitzone
getTime()
des Computers zurück , sodass das Ergebnis von Computer zu Computer unterschiedlich ist. Sie können dieses Verhalten überprüfen:Dies ist kein Problem, wenn Sie die Zeit seit der Epoche unter Berücksichtigung Ihrer Zeitzone wirklich nutzen möchten. Wenn Sie also seit der Epoche Zeit für das aktuelle Datum oder sogar ein bestimmtes Datum basierend auf der Zeitzone des Computers erhalten möchten , können Sie diese Methode weiterhin verwenden.
Methode 2: Zeitzonenunabhängig der Maschine
Wenn Sie jedoch Variationen in der Zeitzone abrufen und die Zeit seit der Epoche für ein bestimmtes Datum in UTC (dh zeitzonenunabhängig) abrufen möchten , müssen Sie die
Date.UTC
Methode verwenden oder das Datum von Ihrer Zeitzone auf UTC verschieben:Wenn Sie diese Methode verwenden (oder alternativ die Differenz subtrahieren), sollte das Ergebnis sein:
IMO, wenn Sie nicht wissen, was Sie tun (siehe Hinweis oben), sollten Sie Methode 2 bevorzugen , da sie maschinenunabhängig ist.
Endnote
Obwohl die Empfehlungen in dieser Antwort und da
Date.UTC
sie nicht ohne ein bestimmtes Datum / eine bestimmte Uhrzeit funktionieren, neigen Sie möglicherweise dazu, den alternativen Ansatz zu verwenden und Folgendes zu tun:Dies macht keinen Sinn und ist wahrscheinlich FALSCH (Sie ändern das Datum). Seien Sie sich bewusst, dass Sie dies nicht tun. Wenn Sie die Zeit seit der Epoche vom aktuellen Datum und der aktuellen Uhrzeit abrufen möchten , sind Sie mit Methode 1 höchstwahrscheinlich in Ordnung .
quelle
Date.parse()
Die Methode analysiert eine Zeichenfolgendarstellung eines Datums und gibt die Anzahl der Millisekunden seitdem zurückJanuary 1, 1970, 00:00:00 UTC
.Weitere Informationen finden Sie unter: Date.parse ()
quelle