4911 Stimmen

Wie erhält man einen Zeitstempel in JavaScript?

Etwas Ähnliches wie der Unix-Zeitstempel, d.h. eine einzelne Zahl, die die aktuelle Zeit und das Datum darstellt. Entweder als Zahl oder als String.

0 Stimmen

Var timeStampInMs = window.performance && window.performance.now && window.performance.timing && window.performance.timing.navigationStart ? window.performance.now() + window.performance.timing.navigationStart : Date.now(); console.log(timeStampInMs, Date.now());

49voto

live-love Punkte 40586

Um das Ganze zu vervollständigen, hier eine Funktion, die einen Zeitstempel-String in Javascript zurückgibt. Beispiel: 15:06:38 PM

function displayTime() {
    var str = "";

    var currentTime = new Date()
    var hours = currentTime.getHours()
    var minutes = currentTime.getMinutes()
    var seconds = currentTime.getSeconds()

    if (minutes < 10) {
        minutes = "0" + minutes
    }
    if (seconds < 10) {
        seconds = "0" + seconds
    }
    str += hours + ":" + minutes + ":" + seconds + " ";
    if(hours > 11){
        str += "PM"
    } else {
        str += "AM"
    }
    return str;
}

35voto

Belldandu Punkte 1908

Eine, die ich noch nicht gesehen habe

Math.floor(Date.now() / 1000); // current time in seconds

Ein weiteres Projekt, das ich noch nicht gesehen habe, ist

var _ = require('lodash'); // from here https://lodash.com/docs#now
_.now();

31voto

Salman A Punkte 246207

El Date.getTime() Methode kann mit einer kleinen Änderung verwendet werden:

Der von der Methode getTime zurückgegebene Wert ist die Anzahl der Millisekunden seit dem 1. Januar 1970 00:00:00 UTC.

Teilen Sie das Ergebnis durch 1000, um den Unix-Zeitstempel zu erhalten, floor falls erforderlich:

(new Date).getTime() / 1000

El Date.valueOf() Methode ist funktionell äquivalent zu Date.getTime() , wodurch es möglich ist, arithmetische Operatoren auf das Datumsobjekt anzuwenden, um identische Ergebnisse zu erzielen. Meiner Meinung nach beeinträchtigt dieser Ansatz die Lesbarkeit.

27voto

Der Code Math.floor(new Date().getTime() / 1000) kann abgekürzt werden zu new Date / 1E3 | 0 .

Überlegen Sie, ob Sie nicht direkt getTime() Aufforderung und Verwendung | 0 als Ersatz für Math.floor() Funktion. Es ist auch gut, daran zu denken 1E3 ist eine kürzere Entsprechung für 1000 (ein großes E ist einem kleinen vorzuziehen, um anzuzeigen 1E3 als Konstante).

Als Ergebnis erhalten Sie Folgendes:

var ts = new Date / 1E3 | 0;

console.log(ts);

24voto

FullStack Punkte 5588

Ich empfehle dringend die Verwendung von moment.js . Um die Anzahl der Millisekunden seit der UNIX-Epoche zu erhalten, tun Sie Folgendes

moment().valueOf()

Um die Anzahl der Sekunden seit der UNIX-Epoche zu ermitteln, gehen Sie wie folgt vor

moment().unix()

Sie können die Zeiten auch wie folgt umrechnen:

moment('2015-07-12 14:59:23', 'YYYY-MM-DD HH:mm:ss').valueOf()

Das mache ich ständig. Kein Wortspiel beabsichtigt.

Zur Verwendung moment.js im Browser:

<script src="moment.js"></script>
<script>
    moment().valueOf();
</script>

Für weitere Details, einschließlich anderer Möglichkeiten zur Installation und Verwendung von MomentJS, siehe docs

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X