Comment détecter l'utilisateur du fuseau horaire dans les formulaires de vous inscrire?

StackOverflow https://stackoverflow.com/questions/768007

  •  12-09-2019
  •  | 
  •  

Question

Les fuseaux horaires peuvent être difficiles à choisir parmi des dizaines d'options. Je voudrais rendre ce processus plus simple. J'ai vu des formes dans la nature qui peut faire la meilleure estimation. Je Goggled une solution, mais avec toute chance. Ne quelqu'un a une idée de comment le faire?

Était-ce utile?

La solution

Javascript:

var today = new Date();

alert( today.getTimezoneOffset() );

Cela donnera le décalage (GMT-X), mais pas le nom de son propre fuseau horaire. Gardez à l'esprit même GMT décalage peut correspondre à plusieurs fuseaux horaires et aussi tenir compte des économies de lumière du jour. Cependant, ce qui est probablement le meilleur endroit pour commencer, à court de donner aux utilisateurs à choisir leur fuseau horaire dans un menu déroulant.

Autres conseils

Vous pouvez essayer de détecter un pays utilisateurs en faisant correspondre leur adresse IP à une série de listes. Il existe différentes façons d'y parvenir, mais le meilleur est à l'aide cette API .

Un exemple d'utilisation serait: http://nl.ae/ iptocapi.php? type = 1 & ip = 00.00.00.00 . Ceci renvoie le code pays de cette adresse IP. Ensuite, il est assez facile de faire correspondre le code du pays avec le fuseau horaire.

Une fois que vous avez trouvé le fuseau horaire de cette façon vous pouvez l'utiliser comme valeur par défaut dans une liste déroulante.

Je trouve ici une bien meilleure solution et robuste: http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/ .

Comme l'explique l'auteur, Date.getTimezoneOffset() est incompatible.

scroll top