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());

99voto

Joaquinglezsantos Punkte 1180

Wenn Sie zusätzlich zu den anderen Optionen ein ISO-Datumsformat wünschen, können Sie es direkt abrufen

console.log(new Date().toISOString());

63voto

VisioN Punkte 137670

jQuery bietet eine eigene Methode um den Zeitstempel zu erhalten:

var timestamp = $.now();

(außerdem implementiert es nur (new Date).getTime() Ausdruck)

REF: http://api.jquery.com/jQuery.now/

55voto

Alireza Punkte 92209

Datum , a natives Objekt in JavaScript ist die Art und Weise, wie wir alle Daten über die Zeit erhalten.

Seien Sie nur vorsichtig in JavaScript der Zeitstempel hängt von der Client-Computer eingestellt, so ist es nicht 100% genaue Zeitstempel. Um das beste Ergebnis zu erzielen, müssen Sie den Zeitstempel aus der Server-seitig .

Ich bevorzuge jedenfalls die Verwendung von Vanille. Dies ist ein gängiger Weg, um es in JavaScript zu tun:

Date.now(); //return 1495255666921

In MDN wird es wie folgt erwähnt:

Die Methode Date.now() gibt die Anzahl der verstrichenen Millisekunden seit 1. Januar 1970 00:00:00 UTC.
Da now() eine statische Methode von Date ist, verwenden Sie sie immer als Date.now().

Wenn Sie eine Version unter ES5 verwenden, Date.now(); nicht funktioniert und Sie verwenden müssen:

new Date().getTime();

52voto

Kamil Kiełczewski Punkte 69048

Leistung

Heute - 2020.04.23 führe ich Tests für ausgewählte Lösungen durch. Ich testete auf MacOs High Sierra 10.13.6 auf Chrome 81.0, Safari 13.1, Firefox 75.0

Schlussfolgerungen

  • Lösung Date.now() (E) ist am schnellsten auf Chrome und Safari und am zweitschnellsten auf Firefox und ist wahrscheinlich die beste Wahl für eine schnelle browserübergreifende Lösung
  • Lösung performance.now() (G) ist überraschenderweise mehr als 100x schneller als andere Lösungen auf Firefox, aber am langsamsten auf Chrome
  • Die Lösungen C, D und F sind auf allen Browsern recht langsam.

enter image description here

Einzelheiten

Ergebnisse für Chrom

enter image description here

Sie können einen Test auf Ihrem Rechner durchführen HIER

Der in den Tests verwendete Code ist im folgenden Ausschnitt dargestellt

function A() {
  return new Date().getTime();
}

function B() {
  return new Date().valueOf();
}

function C() {
  return +new Date();
}

function D() {
  return new Date()*1;
}

function E() {
  return Date.now();
}

function F() {
  return Number(new Date());
}

function G() {
  // this solution returns time counted from loading the page.
  // (and on Chrome it gives better precission)
  return performance.now(); 
}

// TEST

log = (n,f) => console.log(`${n} : ${f()}`);

log('A',A);
log('B',B);
log('C',C);
log('D',D);
log('E',E);
log('F',F);
log('G',G);

This snippet only presents code used in external benchmark

50voto

Tom Viner Punkte 6365
console.log(new Date().valueOf()); // returns the number of milliseconds since the epoch

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