2009-07-21 8 views
1

Je me demande s'il existe un moyen simple de rechercher le fuseau horaire local d'un utilisateur dans Rails en utilisant uniquement une adresse IP. Je ne veux pas que les utilisateurs doivent entrer eux-mêmes leur fuseau horaire. Dois-je utiliser JavaScript ou existe-t-il un autre moyen?Recherche de fuseaux horaires locaux dans les rails

Répondre

1

The maxmind GeoLite IP->city database semble prendre en charge les fuseaux horaires et il y a a FAQ on their site referring to this. Vous pouvez effectuer un processus en deux étapes: IP-> Localisation puis Location-> fuseau horaire à l'aide de la base de données Maxmind GeoLite City, puis utiliser l'une des solutions fournies dans la FAQ.

Ou pour un simple javascript en 1 étape, en utilisant getTimezoneOffset() semble être the crux of the solution.

1

Il semble y avoir plusieurs fournisseurs offrant des API et des services appelables pour passer de l'adresse IP à l'emplacement, et clairement une fois que vous avez déterminé que le fuseau horaire est seulement une autre recherche.

Votre alternative d'utiliser javascript pour demander au navigateur "où suis-je, quel est le fuseau horaire" et Ajaxing cela à votre serveur semble aussi plausible.

Bien sûr, un utilisateur suffisamment déterminé peut probablement se frayer un chemin pour apparaître à une adresse IP différente, mais sans doute cela ne vous importe pas trop ... leur choix.

1

Vous pouvez utiliser l'API ip-to-time pour trouver l'heure par adresse IP. Regardez ici http://worldtimeengine.com/ pour plus de détails.

Dan

Questions connexes