Obtener la zona horaria en JavaScript

Ammar Ali 12 octubre 2023
  1. Obtenga la zona horaria y su compensación utilizando la función Date() y la función slice() en JavaScript
  2. Obtenga la compensación de zona horaria utilizando la función Date() y la función getTimezoneOffset() en JavaScript
  3. Obtenga la zona horaria usando la función DateTimeFormat() en JavaScript
Obtener la zona horaria en JavaScript

Este tutorial explica cómo obtener la zona horaria y su desplazamiento utilizando la función Date() junto con las funciones slice(), getTimezoneOffset() y DateTimeFormat() en JavaScript.

Obtenga la zona horaria y su compensación utilizando la función Date() y la función slice() en JavaScript

Podemos usar la función Date() para encontrar la zona horaria y su desplazamiento, pero también devolverá la fecha y la hora. Por ejemplo, usemos la función Date() para obtener la fecha, la hora, el desplazamiento y la zona horaria actuales. Vea el código a continuación.

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

Producción :

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

En el resultado, puede ver que la función Date() devolvió la fecha, hora, desplazamiento y zona horaria actuales. Si solo desea obtener la zona horaria o el desplazamiento, debe convertir la salida en una cadena para dividirla y obtener la salida deseada.

Para convertirlo en una cadena, podemos usar la función toTimeString(), que devolverá la hora, el desplazamiento y la zona horaria. Después de eso, podemos usar la función slice para obtener la salida deseada. Por ejemplo, obtengamos el desplazamiento de la zona horaria de la salida anterior. Vea el código a continuación.

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

Producción :

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

En la salida, la función toTimeString() devuelve la segunda línea y la función slice() devuelve la tercera línea. El primer y segundo argumento de la función slice() es la posición de los caracteres que queremos cortar.

Por ejemplo, la función slice(9,17) comenzará a cortar desde el noveno carácter hasta el decimoséptimo. Si no define el segundo argumento, la función se dividirá hasta el último carácter de la cadena.

Obtenga la compensación de zona horaria utilizando la función Date() y la función getTimezoneOffset() en JavaScript

Podemos usar la función Date() con la función getTimezoneOffset() para obtener el desplazamiento de la zona horaria. Este método devolverá el desplazamiento de la zona horaria en minutos. Consulte el código de ejemplo a continuación para ver una demostración.

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

Producción :

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

Como puede ver en la salida, la segunda línea es el desplazamiento de la zona horaria en minutos. No es lo mismo que en la primera línea porque, allí, el desfase está en horas. También puede convertirlo en horas dividiéndolo entre -60. Vea el código a continuación.

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

Producción :

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

Como puede ver en la salida, el desplazamiento en ambas líneas es igual. Tenga en cuenta que la función getTimezoneOffset() solo devolverá el desplazamiento solo y no con UTC o GMT.

Obtenga la zona horaria usando la función DateTimeFormat() en JavaScript

Podemos usar la función DateTimeFormat() para obtener la zona horaria en JavaScript. Por ejemplo, vea el código a continuación.

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

Producción :

UTC

El Intl devuelve la zona horaria de IANA y es compatible con todos los 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

Artículo relacionado - JavaScript Date