Date.prototype.toISOString / toJSON în JavaScript

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

Scrie data în formatul standard ISO 8601, în UTC: 2026-10-19T11:30:00.000Z.

Sintaxă
data.toISOString()
data.toJSON()

Ce face Date.prototype.toISOString / toJSON

toISOString returnează mereu același format, în UTC (litera Z de la final): ideal pentru salvare, API-uri și baze de date. Se citește înapoi cu new Date(text) fără pierderi.

toJSON returnează același text și este apelată automat de JSON.stringify. Pentru o dată invalidă, toISOString aruncă RangeError, iar toJSON returnează null.

Ce returnează

Un șir de caractere.

Exemple

Exemplul 1: Format standard și JSON

const d = new Date(2026, 9, 19, 14, 30);

console.log(d.toISOString());
console.log(JSON.stringify({ creat: d }));
console.log(new Date(d.toISOString()).getTime() === d.getTime());
console.log(new Date("x").toJSON());

Rezultat

2026-10-19T11:30:00.000Z
{"creat":"2026-10-19T11:30:00.000Z"}
true
null

Exemplul 2: Doar data, pentru un câmp de formular

Pentru un <input type="date">, ia primele 10 caractere. Atenție: data este în UTC; aproape de miezul nopții poate fi ziua anterioară.

console.log(new Date(2026, 9, 19, 12).toISOString().slice(0, 10));
console.log(new Date(2026, 9, 19, 1).toISOString().slice(0, 10));

Rezultat

2026-10-19
2026-10-18

Greșeli frecvente

  • Afișezi utilizatorilor rezultatul lui toISOString crezând că este ora locală. Este în UTC; pentru afișare folosește toLocaleString("ro-RO").

Comenzi înrudite