new Date() în JavaScript

Dată și oră Toate browserele, Node.js

Creează un obiect Date: momentul de acum, un moment dintr-un text sau din componente (an, lună, zi...).

Sintaxă
new Date()
new Date(milisecunde)
new Date("2026-10-19T14:30:00")
new Date(an, lunaIndex, zi, ore, minute, secunde, ms)

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 cu new Date(text). Rezultatul este Invalid Date sau diferă între browsere; folosește formatul ISO sau componente.
  • Compari date cu ===. Sunt obiecte diferite; compară a.getTime() === b.getTime().

Comenzi înrudite