Obtenez le fuseau horaire en JavaScript

Ammar Ali 12 octobre 2023
  1. Obtenez le fuseau horaire et son décalage à l’aide de la fonction Date() et de la fonction slice() en JavaScript
  2. Obtenez le décalage de fuseau horaire à l’aide de la fonction Date() et de la fonction getTimezoneOffset() en JavaScript
  3. Obtenez le fuseau horaire à l’aide de la fonction DateTimeFormat() en JavaScript
Obtenez le fuseau horaire en JavaScript

Ce tutoriel explique comment obtenir le fuseau horaire et son décalage à l’aide de la fonction Date() avec les fonctions slice(), getTimezoneOffset() et DateTimeFormat() en JavaScript.

Obtenez le fuseau horaire et son décalage à l’aide de la fonction Date() et de la fonction slice() en JavaScript

Nous pouvons utiliser la fonction Date() pour trouver le fuseau horaire et son décalage, mais elle retournera également la date et l’heure. Par exemple, utilisons la fonction Date() pour obtenir la date, l’heure, le décalage et le fuseau horaire actuels. Voir le code ci-dessous.

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

Production:

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

Dans la sortie, vous pouvez voir que la fonction Date() a renvoyé la date, l’heure, le décalage et le fuseau horaire actuels. Si vous souhaitez obtenir uniquement le fuseau horaire ou le décalage, vous devez convertir la sortie en une chaîne pour la découper afin d’obtenir la sortie souhaitée.

Pour le convertir en chaîne, nous pouvons utiliser la fonction toTimeString(), qui renverra l’heure, l’offset et le fuseau horaire. Après cela, nous pouvons utiliser la fonction slice pour obtenir la sortie souhaitée. Par exemple, obtenons le décalage de fuseau horaire à partir de la sortie ci-dessus. Voir le code ci-dessous.

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

Production:

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

Dans la sortie, la deuxième ligne est renvoyée par la fonction toTimeString() et la troisième ligne est renvoyée par la fonction slice(). Le premier et le deuxième argument de la fonction slice() sont la position des caractères que nous voulons découper.

Par exemple, la fonction slice(9,17) commencera à trancher à partir du 9e caractère jusqu’au 17e caractère. Si vous ne définissez pas le deuxième argument, la fonction tranchera jusqu’au dernier caractère de la chaîne.

Obtenez le décalage de fuseau horaire à l’aide de la fonction Date() et de la fonction getTimezoneOffset() en JavaScript

Nous pouvons utiliser la fonction Date() avec la fonction getTimezoneOffset() pour obtenir le décalage horaire. Cette méthode renverra le décalage horaire en minutes. Voir l’exemple de code ci-dessous pour une démonstration.

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

Production:

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

Comme vous pouvez le voir dans la sortie, la deuxième ligne est le décalage horaire en minutes. Ce n’est pas la même que dans la première ligne car, là-dedans, le décalage est en heures. Vous pouvez également le convertir en heures en le divisant par -60. Voir le code ci-dessous.

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

Production:

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

Comme vous pouvez le voir dans la sortie, le décalage dans les deux lignes est égal. Notez que la fonction getTimezoneOffset() ne renverra que l’offset seul et non avec l’UTC ou l’GMT.

Obtenez le fuseau horaire à l’aide de la fonction DateTimeFormat() en JavaScript

Nous pouvons utiliser la fonction DateTimeFormat() pour obtenir le fuseau horaire en JavaScript. Par exemple, consultez le code ci-dessous.

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

Production:

UTC

Le Intl renvoie le fuseau horaire IANA, et il est compatible avec tous les navigateurs modernes.

Auteur: 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

Article connexe - JavaScript Date