Ce face new Date()
Un obiect Date reține un singur moment în timp, ca număr de milisecunde de la 1 ianuarie 1970, ora 00:00 UTC. Metodele lui îl afișează în ora locală sau în UTC.
Moduri de creare: fără parametri (acum), dintr-un număr de milisecunde, dintr-un text în format ISO ("2026-10-19" sau "2026-10-19T14:30:00") sau din componente. Atenție: lunile sunt numerotate de la 0: ianuarie este 0, decembrie este 11. Componentele care depășesc limita trec mai departe: ziua 32 din octombrie devine 1 noiembrie.
Apelată fără new, Date() returnează doar un text cu momentul curent, nu un obiect. Exemplele de pe această pagină au rulat cu fusul orar al României (Europe/Bucharest); pe alt calculator, orele locale pot diferi.
Parametri
| Parametru | Descriere |
|---|---|
milisecunde |
Numărul de milisecunde de la 1 ianuarie 1970 UTC. |
text |
O dată în format ISO 8601. Alte formate sunt interpretate diferit de la un browser la altul. |
an, lunaIndex, zi, ... |
Componentele în ora locală; luna de la 0 la 11. Lipsă: ziua 1, restul 0. |
Ce returnează
Un obiect Date (sau Invalid Date dacă textul nu poate fi citit).
Exemple
Exemplul 1: Din componente, cu luna de la 0
const examen = new Date(2026, 5, 15, 9, 30);
console.log(examen.toString());
console.log(examen.getMonth(), examen.toLocaleDateString("ro-RO", { month: "long" }));
console.log(new Date(2026, 9, 32).toDateString());
Rezultat
Mon Jun 15 2026 09:30:00 GMT+0300 (Eastern European Summer Time)
5 iunie
Sun Nov 01 2026
Exemplul 2: Din text și din milisecunde
Un text cu doar data ("2026-10-19") este citit ca miezul nopții în UTC, iar unul cu dată și oră fără fus orar este citit în ora locală.
console.log(new Date("2026-10-19").toISOString());
console.log(new Date("2026-10-19T14:30:00").toISOString());
console.log(new Date("2026-10-19T14:30:00Z").toISOString());
console.log(new Date(0).toISOString());
console.log(new Date("19.10.2026").getTime());
Rezultat
2026-10-19T00:00:00.000Z
2026-10-19T11:30:00.000Z
2026-10-19T14:30:00.000Z
1970-01-01T00:00:00.000Z
NaN
Exemplul 3: Momentul curent
const acum = new Date();
console.log(acum.toISOString());
console.log(typeof Date(), typeof new Date());
Rezultat posibil (depinde de momentul rulării)
2026-10-19T11:42:07.315Z
string object
Greșeli frecvente
- Scrii
new Date(2026, 10, 19)pentru 19 octombrie și primești 19 noiembrie. Lunile încep de la 0. - Citești date în format românesc (
"19.10.2026") sau american cunew Date(text). Rezultatul esteInvalid Datesau diferă între browsere; folosește formatul ISO sau componente. - Compari date cu
===. Sunt obiecte diferite; comparăa.getTime() === b.getTime().
Comenzi înrudite
getFullYear / getMonth / getDate / getDay / getHours...: Citesc componentele unei date în ora locală: anul, luna (0–11), ziua lunii, ziua săptămânii, ora…Date.prototype.toISOString / toJSON: Scrie data în formatul standard ISO 8601, în UTC: 2026-10-19T11:30:00.000Z.toLocaleDateString / toLocaleString / toLocaleTimeString: Afișează data și ora după obiceiurile unei țări, de exemplu în română: „luni, 19 octombrie 2026”.