Obtenha o fuso horário em JavaScript
-
Obtenha o fuso horário e seu deslocamento usando a função
Date()
e a funçãoslice()
em JavaScript -
Obtenha o ajuste de fuso horário usando a função
Date()
e a funçãogetTimezoneOffset()
em JavaScript -
Obtenha o fuso horário usando a função
DateTimeFormat()
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.