54 votes

Web service - fuseau horaire actuel d'une ville?

Est-il un service web de quelque sorte (ou tout autre moyen) pour tirer un courant de paramètres de fuseau horaire pour un (US) de la ville. Pour les parties du pays qui ne respectent pas l'Heure d'été et fondamentalement sauter fuseaux horaires quand tout le monde est de commutation heure été/hiver... je n'ai pas envie de créer leur propre base de données des lieux qui ne suivent pas l'heure d'été. Est-il un moyen d'extraire ces données sur la demande?

J'en ai besoin pour le serveur de base de données (pas pour les postes de travail du client) - il y entités stockées dans la base de données de la Ville, l'État en tant que propriétés. J'ai besoin de savoir fuseau horaire actuel pour ces entités, à tout moment de temps.

73voto

Mike Davis Points 343

Nous avons rencontré le même problème et, aux côtés du grand suggestions ci-dessus, Google semble avoir la complémentarité de deux Api, un pour le Temps de la Zone de géocodage (latitude/longitude) des données et de l'API de géocodage.

Par exemple, pour obtenir le fuseau horaire et le décalage de San Francisco:

1) Convertir la ville de géocodées emplacement:

http://maps.googleapis.com/maps/api/geocode/json?address=San%20Francisco,+CA&sensor=false

Le géocodées emplacement est dans le JSON de données de retour:

"location": {
    "lat":  37.77492950,
    "lng": -122.41941550
}

2) Convertir le géocodées lieu à un fuseau horaire local et de compenser, le cas échéant:

https://maps.googleapis.com/maps/api/timezone/json?location=37.77492950,-122.41941550&timestamp=1331161200&sensor=false

Qui renvoie les informations de fuseau horaire actuel:

{
          "status": "OK",
       "dstOffset":  0.0,
       "rawOffset": -28800.0,              
      "timeZoneId": "America/Los_Angeles",
    "timeZoneName": "Pacific Standard Time"
}

Les zones de temps pour une région peut changer pour une variété de raisons. Donc c'est une bonne idée de trouver une autorité basée sur le serveur de la solution et de ne pas mettre en cache. Pour plus d'informations, voir Wikipédia le fuseau Horaire de l'article.

47voto

Espo Points 24318

earthtools.org fournit un service Web gratuit pour obtenir le fuseau horaire d'une ville ici:

http://www.earthtools.org/webservices.htm#timezone

Vous venez de transmettre les valeurs long / lat comme ceci: (Ceci est pour New York)

http://www.earthtools.org/timezone-1.1/40.71417/-74.00639

16voto

Eric Willis Points 510

Geonames.org a un merveilleux ensemble de données matérielles disponibles via webservice ou téléchargement:

http://www.geonames.org/export/ws-overview.html

En particulier

http://www.geonames.org/export/web-services.html#timezone

.

7voto

megazoid Points 366

Les informations sur le fuseau horaire d'Earthtool ne sont pas à jour ... par exemple, le décalage actuel du Sri Lanka est de +5,5 par rapport à GMT, mais EarthTools indique +6, l'ancien décalage avant 2005.

Je suggère GeoNames.org .

5voto

TheoJones Points 269

WorldTimeServer.com contient ce qui semble être une base de données de fuseaux horaires complète, à laquelle vous pouvez acheter un accès dans divers formats, y compris un composant .NET pour une utilisation Web.

Aucune connexion, juste eu à rechercher la même chose moi-même récemment.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X