Date.prototype.getTimezoneOffset în JavaScript

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

Returnează diferența în minute dintre UTC și ora locală, la data respectivă.

Sintaxă
data.getTimezoneOffset()

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 +180 pentru UTC+3. Semnul este invers: rezultatul este pozitiv pentru fusurile din urma UTC (America) și negativ pentru cele dinainte (Europa, Asia).

Comenzi înrudite