2017-10-17 4 views
0

Est-il possible de détecter en javascript que l'heure locale définie par l'utilisateur dans l'OS est différente de l'heure officielle du fuseau horaire du système d'exploitation? Par exemple, je suis en UTC + 01: 00 et il est 7h20 maintenant selon le fuseau horaire défini. Supposons que je change manuellement l'heure de mon système pour qu'il soit 9h20 sans changer le fuseau horaire - c'est maintenant différent de l'heure officielle UTC + 1. Existe-t-il un moyen de détecter une telle incohérence?Vérifier si l'heure locale n'est pas compatible avec le fuseau horaire dans javascript

+2

Javascript Les objets de date ne connaissent rien aux fuseaux horaires, ils sont au cœur de l'UTC, il suffit donc de comparer la date et l'heure UTC avec une source précise, ce qui laisse du temps pour la latence du réseau. – RobG

Répondre

1

Si vous avez accès à NPM pour compiler votre fichier JavaScript, vous pouvez obtenir ces 2 bibliothèques pour obtenir votre fuseau horaire actuel:

d'abord obtenir votre adresse IP avec cette bibliothèque: https://www.npmjs.com/package/my-ip

Ensuite, obtenir votre position (latitude, longitude) avec cette bibliothèque: https://www.npmjs.com/package/satelize

Et enfin, vous comparer le temps d'ordinateur de temps (new date()) avec celui que vous obtenez d'un service de temps comme google maps, consultez le tutoriel suivant: http://www.javascriptkit.com/dhtmltutors/local-time-google-time-zone-api.shtml