Ce face Date.prototype.getTimezoneOffset
Rezultatul este UTC minus ora locală, în minute. Pentru România, care este înaintea UTC, rezultatul este negativ: -180 vara (UTC+3) și -120 iarna (UTC+2).
Valoarea depinde de dată, din cauza orei de vară, deci apelează metoda pe data care te interesează. Pentru numele fusului orar folosește Intl.DateTimeFormat().resolvedOptions().timeZone.
Ce returnează
Un număr de minute.
Exemple
Exemplul 1: Iarna și vara în România
console.log(new Date(2026, 0, 15).getTimezoneOffset());
console.log(new Date(2026, 6, 15).getTimezoneOffset());
console.log(Intl.DateTimeFormat().resolvedOptions().timeZone);
Rezultat
-120
-180
Europe/Bucharest
Exemplul 2: Fusul orar în formatul +03:00
function fus(d) {
const minute = -d.getTimezoneOffset();
const semn = minute >= 0 ? "+" : "-";
const abs = Math.abs(minute);
return `${semn}${String(Math.floor(abs / 60)).padStart(2, "0")}:${String(abs % 60).padStart(2, "0")}`;
}
console.log(fus(new Date(2026, 9, 19)));
Rezultat
+03:00
Greșeli frecvente
- Te aștepți la
+180pentru UTC+3. Semnul este invers: rezultatul este pozitiv pentru fusurile din urma UTC (America) și negativ pentru cele dinainte (Europa, Asia).
Comenzi înrudite
getUTCFullYear / getUTCMonth / getUTCHours...: Citesc componentele unei date în UTC (ora universală), nu în ora locală.Intl.DateTimeFormat: Un formator de date și ore după regulile unei limbi, refolosibil pentru multe date.Date.prototype.toISOString / toJSON: Scrie data în formatul standard ISO 8601, în UTC: 2026-10-19T11:30:00.000Z.