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
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é.
// 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.
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
- Prothèse d'émulation de
Date.nowdanscore-js(angl.) - La méthode API
Performance.now() - La méthode
console.time() - La méthode
console.timeEnd()