Date.now în JavaScript

Dată și oră ES5 (toate browserele moderne)

Returnează momentul curent ca număr de milisecunde de la 1 ianuarie 1970 UTC.

Sintaxă
Date.now()

Ce face Date.now

Date.now() este echivalentul lui new Date().getTime(), dar fără să creeze un obiect. Rezultatul (un „timestamp”) este același în orice fus orar.

Este folosit pentru măsurarea duratelor, pentru expirarea datelor din cache și ca valoare simplă de salvat. Pentru măsurători foarte precise ale performanței, performance.now() este mai potrivit.

Ce returnează

Un număr întreg de milisecunde.

Exemple

Exemplul 1: Momentul curent

console.log(Date.now());
console.log(Math.floor(Date.now() / 1000));

Rezultat posibil (depinde de momentul rulării)

1792410127315
1792410127

Exemplul 2: Cache care expiră după 5 minute

const CINCI_MINUTE = 5 * 60 * 1000;
const cache = { date: ["articol 1"], salvatLa: Date.now() - 6 * 60 * 1000 };

const expirat = Date.now() - cache.salvatLa > CINCI_MINUTE;
console.log(expirat ? "reîncarc datele" : "folosesc cache-ul");

Rezultat

reîncarc datele

Greșeli frecvente

  • Trimiți Date.now() unui server care așteaptă secunde (de exemplu timestamp Unix în PHP). Împarte la 1000.

Comenzi înrudite

  • new Date(): Creează un obiect Date: momentul de acum, un moment dintr-un text sau din componente (an, lună, zi…).
  • getTime / setTime / valueOf: Citește sau setează momentul ca număr de milisecunde de la 1 ianuarie 1970 UTC.
  • performance.now / mark / measure: Măsoară timpul cu precizie de fracțiuni de milisecundă, pentru a afla cât durează o operație.