Aktuellen Unixtimestamp mit Moment.js abrufen


137

Ich möchte den Unix TimeStamp mit Moment.js erhalten. Ich kann viele Funktionen finden, die den Zeitstempel in moment.js in ein Datum konvertieren. Ich weiß, dass ich den Unix-Zeitstempel mithilfe der folgenden JavaScript-Funktion problemlos abrufen kann : Math.floor(new Date().getTime()/1000).

Aber ich möchte Moment.js verwenden, um das gleiche Ergebnis zu erzielen. Gibt es in moment.js eine direkte Funktion, um den aktuellen Zeitstempel abzurufen?

Antworten:


261

So finden Sie den Unix-Zeitstempel in Sekunden:

moment().unix()

Die Dokumentation ist dein Freund. :) :)


23
Das ist in Sekunden, nicht Millisekunden
Alon Dahari

19
@climbinghobo - ja. Darum wurde in der Frage gebeten.
Matt Johnson-Pint

16
@climbinghobo, wenn Sie in Millisekunden verwenden möchtenmoment().valueOf()
Gaurav Bharti

Nicht mehr gültig. Siehe @ kumar chandraketu Antwort unten.
Kaiser

1
Die Dokumentation mag mein Freund sein , aber StackOverflow ist mein bester Freund .
Yvonne Aburrow

137

Für alle, die diese Seite auf der Suche nach einem Unix-Zeitstempel mit Millisekunden finden, heißt es in der Dokumentation

moment().valueOf()

oder

+moment();

Sie können es auch durchstehen moment().format('x')(oder .format('X')[ Großbuchstaben X ] für Unix-Sekunden mit Dezimal-Millisekunden), aber das gibt Ihnen eine Zeichenfolge. Welcher moment.js wird danach nicht mehr analysiert, es sei denn, Sie konvertieren / wandeln ihn zuerst in eine Zahl zurück.


2
Sehr schön, aber der letzte ( +moment()) sieht ziemlich riskant aus!
Daniel F

@JRichardsz, das scheint ein unnötiger Parsing-Schritt zu sein, da die ersten beiden, die ich erwähnt habe, Ihnen den richtigen Wert als Zahl geben.
mix3d

1
Richtig. Aus der Dokumentation : moment().valueOf(); oder +moment();
Steve Swinsburg

@ mix3d Ich werde es versuchen. Vielen Dank!
JRichardsz

20

für UNIX-Zeitstempel in Millisekunden

moment().format('x') // lowerCase x

für UNIX-Zeitstempel in Sekunden moment().format('X') // capital X


5
Hinweis: Diese geben Ihnen den Wert als Zeichenfolge und nicht als Number-Objekte.
mix3d

7

Probieren Sie eines davon aus

valof = moment().valueOf();            // xxxxxxxxxxxxx
getTime = moment().toDate().getTime(); // xxxxxxxxxxxxx
unixTime =  moment().unix();           // xxxxxxxxxx
formatTimex =  moment().format('x');   // xxxxxxxxxx
unixFormatX = moment().format('X');    // xxxxxxxxxx
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.