Ce face getTime / setTime / valueOf
getTime() și valueOf() returnează timestamp-ul datei. valueOf este apelată automat când scazi două date sau le compari cu < și >, de aceea data2 - data1 dă diferența în milisecunde.
setTime(ms) mută obiectul la alt moment. Pentru egalitate, compară timestamp-urile: a.getTime() === b.getTime().
Parametri
| Parametru | Descriere |
|---|---|
milisecunde |
Pentru setTime: noul timestamp. |
Ce returnează
Un număr de milisecunde (sau NaN pentru o dată invalidă).
Exemple
Exemplul 1: Zile rămase până la un eveniment
const azi = new Date(2026, 9, 19);
const craciun = new Date(2026, 11, 25);
const ZI = 24 * 60 * 60 * 1000;
console.log(Math.round((craciun - azi) / ZI));
console.log(craciun.getTime() - azi.getTime() === craciun - azi);
Rezultat
67
true
Exemplul 2: Compararea și copierea datelor
const a = new Date(2026, 0, 1);
const b = new Date(2026, 0, 1);
console.log(a === b, a.getTime() === b.getTime(), a.valueOf() === +b);
const c = new Date();
c.setTime(a.getTime());
console.log(c.toDateString(), a < new Date(2026, 5, 1));
console.log(new Date("ceva").getTime());
Rezultat
false true true
Thu Jan 01 2026 true
NaN
Greșeli frecvente
- Împarți diferența la 86400000 și rotunjești în jos. Peste schimbarea orei, o zi are 23 de ore și pierzi o zi; folosește
Math.round.
Comenzi înrudite
Date.now: Returnează momentul curent ca număr de milisecunde de la 1 ianuarie 1970 UTC.new Date(): Creează un obiect Date: momentul de acum, un moment dintr-un text sau din componente (an, lună, zi…).setFullYear / setMonth / setDate / setHours...: Schimbă componentele unei date în ora locală; valorile în afara limitelor trec automat mai departe.