Maison >interface Web >js tutoriel >Comment puis-je déterminer le fuseau horaire et le décalage UTC d'un client en JavaScript ?

Comment puis-je déterminer le fuseau horaire et le décalage UTC d'un client en JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-14 02:25:14408parcourir

How Can I Determine a Client's Time Zone and UTC Offset in JavaScript?

Détermination du fuseau horaire et du décalage horaire du client en JavaScript

Lors de l'interaction avec des utilisateurs de différents fuseaux horaires, il devient souvent nécessaire de rassembler leur fuseau horaire information. Cela inclut l'obtention à la fois de l'identifiant de fuseau horaire et du décalage par rapport à UTC ou GMT.

Obtention de l'identifiant de fuseau horaire

Malheureusement, calculer le fuseau horaire à l'aide d'un décalage est un problème. approche peu fiable. Les fuseaux horaires et les règles d'heure d'été subissent des changements fréquents tout au long de l'année, ce qui rend difficile de suivre les variations.

Solution :

Pour obtenir de manière fiable le système IANA du client fuseau horaire en JavaScript, utilisez :

console.log(Intl.DateTimeFormat().resolvedOptions().timeZone);

Cette approche renvoie l'identifiant de fuseau horaire dans un format IANA standardisé. Par exemple, "Europe/Londres".

Obtenir le décalage par rapport à UTC ou GMT

Une fois que vous avez l'identifiant de fuseau horaire, vous pouvez calculer le décalage par rapport à UTC ou GMT utilisant :

let offset = new Date().getTimezoneOffset();

offset représentera le nombre de minutes pendant lesquelles le fuseau horaire du client est en avance (ou en retard) sur UTC. Une valeur positive indique que le temps du client est en avance, tandis qu'une valeur négative indique qu'il est en retard.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn