Exigences : Pour améliorer l’expérience utilisateur, le site doit afficher l’heure correspondante selon le fuseau horaire de l’utilisateur actuel, obtenir les informations actuelles du fuseau horaire du navigateur via js et les transmettre au backend, puis afficher les données traitées à l’utilisateur. (Ou les données du front-end sont converties)
JavaScript obtient le fuseau horaire du client actuel
L’objet Intl est un espace de noms pour l’API d’internationalisation ECMAScript qui fournit une comparaison précise de chaînes, une mise en forme de nombres et une mise en forme de date. Nous devons utiliser l’objet DateTimeFormat de cette API.
Pour plus de détails, veuillez consulter :La connexion hyperlientérée est visible.
Code:
Vous pouvez voir la sortie : Asie/Shanghai, qui est mon fuseau horaire est Shanghai.
Décalage du fuseau horaire UTC
Pour mieux localiser le temps d’affichage, nous pouvons obtenir le décalage du fuseau horaire UTC du navigateur actuel, et augmenter ou diminuer le temps UTC en conséquence, ce que nous pouvons obtenir via la méthode getTimezoneOffset de l’instance de l’objet Date (notez le résultat retournéL’unité est le centime):
Documentation:La connexion hyperlientérée est visible.
Le navigateur Chrome simule différentes régions, décalage de sortie, DevTools de la console -> Plus d’outils -> capteur, modifie la position, comme montré ci-dessous :
nouvelle date() Mer 20 sept. 2023 19:47:47 GMT+0800 (heure standard de Chine) nouvelle date().getTimeOffset()
-480 nouvelle date() Mer 20 sept. 2023 13:48:12 GMT+0200 (Mitteleuropäische Sommerzeit) nouvelle date().getTimeOffset()
-120 nouvelle date() Mer 20 sept. 2023 08:48:19 GMT-0300 (Horário Padrão de Brasília) nouvelle date().getTimeOffset()
180 (Fin)
|