Obtenha o fuso horário em JavaScript

Ammar Ali 12 outubro 2023
  1. Obtenha o fuso horário e seu deslocamento usando a função Date() e a função slice() em JavaScript
  2. Obtenha o ajuste de fuso horário usando a função Date() e a função getTimezoneOffset() em JavaScript
  3. Obtenha o fuso horário usando a função DateTimeFormat() em JavaScript
Obtenha o fuso horário em JavaScript

Este tutorial discute como obter o fuso horário e seu deslocamento usando a função Date() junto com a função slice(), getTimezoneOffset() e DateTimeFormat() em JavaScript.

Obtenha o fuso horário e seu deslocamento usando a função Date() e a função slice() em JavaScript

Podemos usar a função Date() para encontrar o fuso horário e seu deslocamento, mas também retornará a data e a hora. Por exemplo, vamos usar a função Date() para obter a data, hora, deslocamento e fuso horário atuais. Veja o código abaixo.

var MyDate = new Date();
console.log(MyDate);

Produção:

Wed Jun 23 2021 08:29:17 GMT+0500 (Pakistan Standard Time)

Na saída, você pode ver que a função Date() retornou a data, hora, deslocamento e fuso horário atuais. Se você deseja obter o fuso horário ou o deslocamento apenas, deve converter a saída em uma string para cortá-la para obter a saída desejada.

Para convertê-lo em uma string, podemos usar a função toTimeString(), que retornará o tempo, deslocamento e fuso horário. Depois disso, podemos usar a função slice para obter o resultado desejado. Por exemplo, vamos obter o deslocamento de fuso horário da saída acima. Veja o código abaixo.

var MyDate = new Date();
console.log(MyDate);
var MyString = MyDate.toTimeString();
console.log(MyString);
var MyOffset = MyString.slice(9, 17);
console.log(MyOffset);

Produção:

Wed Jun 23 2021 08:29:17 GMT+0500 (Pakistan Standard Time)
08:39:52 GMT+0500 (Pakistan Standard Time)
GMT+0500

Na saída, a segunda linha é retornada pela função toTimeString() e a terceira linha é retornada pela função slice(). O primeiro e o segundo argumento da função slice() é a posição dos caracteres que queremos fatiar.

Por exemplo, a função slice(9,17) começará a fatiar do 9º caractere até o 17º caractere. Se você não definir o segundo argumento, a função cortará até o último caractere da string.

Obtenha o ajuste de fuso horário usando a função Date() e a função getTimezoneOffset() em JavaScript

Podemos usar a função Date() com a função getTimezoneOffset() para obter o deslocamento do fuso horário. Este método retornará a diferença de fuso horário em minutos. Veja o código de exemplo abaixo para uma demonstração.

var MyDate = new Date();
console.log(MyDate);
var MyOffset = MyDate.getTimezoneOffset();
console.log(MyOffset);

Produção:

Wed Jun 23 2021 08:29:17 GMT+0500 (Pakistan Standard Time)
-300

Como você pode ver na saída, a segunda linha é a diferença de fuso horário em minutos. Não é o mesmo que na primeira linha porque, lá, o deslocamento é em horas. Você também pode convertê-lo em horas dividindo-o por -60. Veja o código abaixo.

var MyDate = new Date();
console.log(MyDate);
var MyOffset = (MyDate.getTimezoneOffset()) / -60;
console.log(MyOffset);

Produção:

Wed Jun 23 2021 08:29:17 GMT+0500 (Pakistan Standard Time)
5

Como você pode ver na saída, o deslocamento em ambas as linhas é igual. Observe que a função getTimezoneOffset() retornará apenas o deslocamento sozinho e não com o UTC ou GMT.

Obtenha o fuso horário usando a função DateTimeFormat() em JavaScript

Podemos usar a função DateTimeFormat() para obter o fuso horário em JavaScript. Por exemplo, veja o código abaixo.

var MyTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
console.log(MyTimeZone);

Produção:

UTC

O Intl retorna o fuso horário IANA e é compatível com todos os navegadores modernos.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Artigo relacionado - JavaScript Date