Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Date : méthode statique now()

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La méthode statique now() retourne le nombre de millisecondes écoulées depuis l'epoch, qui est défini comme minuit au début du 1er janvier 1970, UTC.

Exemple interactif

// Cet exemple prend 2 secondes à s'exécuter
const start = Date.now();

console.log("démarrage du minuteur...");
// Sortie attendue : "démarrage du minuteur..."

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

  console.log(`secondes écoulées = ${Math.floor(millis / 1000)}`);
  // Sortie attendue : "secondes écoulées = 2"
}, 2000);

Syntaxe

js
Date.now()

Paramètres

Aucun.

Valeur de retour

Un nombre représentant le timestamp, en millisecondes, de l'heure actuelle.

Description

Précision temporelle réduite

Pour offrir une protection contre les attaques de minutage et l'empreinte numérique, la précision de Date.now() peut être arrondie selon les paramètres du navigateur. Sous Firefox, la préférence privacy.reduceTimerPrecision est activée par défaut et vaut 2ms. Vous pouvez aussi activer privacy.resistFingerprinting, auquel cas la précision sera de 100ms ou la valeur de privacy.resistFingerprinting.reduceTimerPrecision.microseconds, selon laquelle est la plus grande.

Par exemple, avec une précision temporelle réduite, le résultat de Date.now() sera toujours un multiple de 2, ou un multiple de 100 (ou de privacy.resistFingerprinting.reduceTimerPrecision.microseconds) si privacy.resistFingerprinting est activé.

js
// Précision temporelle réduite (2ms) pour Firefox 60
new Date().getTime();
// 1519211809934
// 1519211810362
// 1519211811670
// …

// précision temporelle avec `privacy.resistFingerprinting` activé
new Date().getTime();
// 1519129853500
// 1519129858900
// 1519129864400
// …

Exemples

Mesurer le temps écoulé

Vous pouvez utiliser Date.now() pour obtenir l'heure actuelle en millisecondes, puis soustraire une heure précédente pour savoir combien de temps s'est écoulé entre les deux appels.

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

Pour des scénarios plus complexes, vous pouvez utiliser plutôt l'API Performance.

Spécifications

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

Compatibilité des navigateurs

Voir aussi