Date.now()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

Probieren Sie es aus

// This example takes 2 seconds to run
const start = Date.now();

console.log("starting timer...");
// Expected output: "starting timer..."

setTimeout(() => {
  const ms = Date.now() - start;

  console.log(`seconds elapsed = ${Math.floor(ms / 1000)}`);
  // Expected output: "seconds elapsed = 2"
}, 2000);

Syntax

js
Date.now()

Parameter

Keine.

Rückgabewert

Eine Zahl, die den Zeitstempel der aktuellen Zeit in Millisekunden darstellt.

Beschreibung

Verringerte Zeitpräzision

Um Schutz gegen Timing-Angriffe und Fingerprinting zu bieten, könnte die Präzision von Date.now() je nach Browsereinstellungen gerundet werden. In Firefox ist die Präferenz privacy.reduceTimerPrecision standardmäßig aktiviert und auf 2ms voreingestellt. Sie können auch privacy.resistFingerprinting aktivieren, wobei die Präzision dann 100ms oder der Wert von privacy.resistFingerprinting.reduceTimerPrecision.microseconds, je nachdem welcher größer ist, beträgt.

Zum Beispiel wird mit verringerter Zeitpräzision das Ergebnis von Date.now() immer ein Vielfaches von 2 sein, oder ein Vielfaches von 100 (oder privacy.resistFingerprinting.reduceTimerPrecision.microseconds) mit aktiviertem privacy.resistFingerprinting.

js
// reduced time precision (2ms) in Firefox 60
Date.now();
// Might be:
// 1519211809934
// 1519211810362
// 1519211811670
// …

// reduced time precision with `privacy.resistFingerprinting` enabled
Date.now();
// Might be:
// 1519129853500
// 1519129858900
// 1519129864400
// …

Beispiele

Verstrichene Zeit messen

Sie können Date.now() verwenden, um die aktuelle Zeit in Millisekunden zu erhalten, dann eine vorherige Zeit subtrahieren, um herauszufinden, wie viel Zeit zwischen den beiden Aufrufen verstrichen ist.

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

Für komplexere Szenarien möchten Sie möglicherweise die Performance API verwenden.

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-date.now

Browser-Kompatibilität

Siehe auch