JavaScript/Objekte/Date/now

Aus SELFHTML-Wiki
< JavaScript‎ | Objekte‎ | Date
Wechseln zu: Navigation, Suche

Die Methode Date.now() ermittelt die Anzahl der Millisekunden, die seit dem 01.01.1970 00:00:00 UTC vergangen sind.

  • JavaScript 1.1
  • Chrome
  • IE 9
  • Firefox
  • Opera
  • Safari


Syntax

dateObj.now()

Rückgabewert ist eine ganze Zahl, die die vergangenen Millisekunden seit dem 1. Januar 1970 00:00:00 UTC angibt.

Anwendungsbeispiele[Bearbeiten]

Die Methode Date.now() eignet sich zum Messen und Vergleichen mehrerer Zeitwerte.

Timer[Bearbeiten]

Die Methode setInterval ist eigentlich dafür prädestiniert, eine Zeit entweder herauf-, oder bei einem Countdown herunterzuzählen. Da JavaScript single-threaded ist, kann es aber bei der Ausführung von Skripten zu kleineren Verzögerungen kommen, sodass solche Timer nie sekundengenau funktionieren.

Mit date.now() können Sie einen solchen Timer problemlos takten:

Beispiel ansehen …
  function timer() {
    var startTime = Date.now();

    var interval = setInterval(function() {
       var elapsedTime = Date.now() - startTime;
       document.getElementById('timer').innerHTML = (elapsedTime / 1000).toFixed(1);
    }, 100);
  }
In dieser timer-Funktion wird anfangs ein Startzeitpunkt mit Date.now() festgelegt und der Variablen startTime zugewiesen.

Mit setInterval wird nun in einer anynomen Funktion der aktuelle Zeitpunkt ermittelt und um den Startzeitpunkt vermindert.

Diese elapsedTime wird bei der Ausgabe entsprechend formatiert: mit einer Division durch 1000 erhält man die Sekunden, mit toFixed wird die Anzahl Nachkommastellen passend abgeschnitten, sodass nur Zehntelsekunden sichtbar sind.

Siehe auch:

Reaktionsspiel[Bearbeiten]

Beispiel folgt


Fazit[Bearbeiten]

Mit Date.now() können Sie messen und vergleichen. Timestamps mit einer kleineren Auflösung als Millisekunden, um z.B. die Seitenperformance messen zu können, sind damit allerdings nicht möglich.

Hier eignet sich window.performance.now() .

Weblinks[Bearbeiten]