Start · Sprachen · JavaScript · Referenz · Date.now()

Date.now()

Methode

Die statische Methode <code>Date.now()</code> gibt die Anzahl der Millisekunden zurück, die seit der Epoche (1. Januar 1970, 00:00 UTC) vergangen sind.

Kategorie: method-property

Signatur

Date.now()

Beschreibung

Die statische Methode Date.now() gibt die Anzahl der Millisekunden zurück, die seit der Epoche vergangen sind, welche als Mitternacht zu Beginn des 1. Januar 1970 UTC definiert ist.

Reduzierte Zeitpräzision

Um Schutz vor Timing-Angriffen und Fingerprinting zu bieten, kann die Präzision von Date.now() abhängig von den Browser-Einstellungen reduziert sein.

Der Timestamp ist immer eine ganzzahlige Anzahl von Millisekunden, sodass seine Auflösung in allen Kontexten auf 1 ms begrenzt ist. Dies erfüllt bereits bestimmte grundlegende Sicherheits- und Datenschutzanforderungen.

In Firefox ist die Einstellung privacy.reduceTimerPrecision standardmäßig aktiviert. Mit den Standardeinstellungen hat der Timestamp eine Auflösung von 1 ms. Wenn privacy.resistFingerprinting aktiviert ist, beträgt das Rundungsintervall 16,667 ms oder das durch privacy.resistFingerprinting.reduceTimerPrecision.microseconds konfigurierte Intervall, je nachdem, welches größer ist. Die endgültige Ausgabe wird auf eine ganze Zahl gerundet.

Zum Beispiel sind dies mögliche Werte in Firefox:

Rückgabewert

Typ
number
Beschreibung
Eine Zahl, die den Timestamp der aktuellen Zeit in Millisekunden repräsentiert.

Beispiele

Mögliche Werte in Firefox bei reduzierter Zeitpräzision

// Reduced time precision (1 ms) with default settings
Date.now();
// Might be:
// 1519211809934
// 1519211810363
// 1519211811671
// …

// Reduced time precision with `privacy.resistFingerprinting` enabled
Date.now();
// Might be:
// 1519129853489
// 1519129853506
// 1519129853522
// …

Verstrichene Zeit messen

const start = Date.now();
doSomeLongRunningProcess();
console.log(`Time elapsed: ${Date.now() - start} ms`);