Frage

Gibt es einen Webdienst (oder eine andere Möglichkeit), um aktuelle Zeitzoneneinstellungen für eine (US-)Stadt abzurufen?Für die Teile des Landes, die nicht der Sommerzeit folgen und grundsätzlich die Zeitzonen wechseln, während alle anderen auf Sommer-/Winterzeit umstellen ...Ich habe keine Lust, eine eigene Datenbank der Orte zu erstellen, an denen die Sommerzeit nicht gilt.Gibt es eine Möglichkeit, diese Daten bei Bedarf abzurufen?

Ich benötige dies für den Datenbankserver (nicht für Client-Workstations) – in der Datenbank sind Entitäten gespeichert, die Stadt und Bundesland als Eigenschaften haben.Ich muss jederzeit die aktuelle Zeitzone für diese Entitäten kennen.

War es hilfreich?

Lösung

earthtools.org bietet einen kostenlosen Web-Service die Zeitzone von einer Stadt zu bekommen hier:

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

Sie haben soeben in den langen / lat Werten wie folgt übergeben: (Dies ist für New York)

http://www.earthtools.org/timezone-1.1/40.71417/ -74,00639


EDIT:

Es scheint, wie earthtools wurde heruntergefahren. Eine gute Alternative (Das ist nicht im Jahr 2008 vorliegen, wenn diese Frage beantwortet wurde) ist der Google-Zeitzone-API. Um es zu nutzen, müssen Sie zuerst aktivieren Sie die Zeitzone API auf ihr Konto. Es ist kostenlos, wenn Sie unter diesen Grenzen bleiben:

  • 2500 Anfragen pro 24-Stunden-Zeitraum.
  • 5 Anfragen pro Sekunde.

Die Dokumentation ist auf Google-Entwickler.

Andere Tipps

Wir stießen auf gleiche Problem und neben den großen oben genannten Vorschläge, erscheint Google zwei komplementäre APIs zu haben, eine für Zeitzone von geocode (Breite / Länge) Daten und die Geocodierung API.

Zum Beispiel, um die Zeitzone zu erhalten und für San Francisco Offset:

1) Konvertieren Sie die Stadt auf eine geografische Position:

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

Die geografische Position ist in den JSON Rückgabedatum:

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

2) umrechnen geografische Position zu einer lokalen Zeitzone und Offset, falls vorhanden:

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

Welche gibt die aktuellen Zeitzoneninformationen:

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

Zeitzonen für eine Region können für eine Vielzahl von Gründen ändern. So ist es eine gute Idee, eine autoritativen Server-basierte Lösung und nicht Cache zu finden. Weitere Informationen finden Sie unter Wikipedias Zeitzone Artikel .

Geonames.org hat einen wunderbaren Satz von weltlichen Daten, die über Webservice oder Download zur Verfügung steht:

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

Insbesondere

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

.

Earthtool der Zeitzone Info ist nicht auf dem neuesten Stand ... für eine Instanz, versetzte der srilankische Strom +5,5 von GMT aber EarthTools zeigt wie 6, die die alten vor 2005 ausgeglichen wurde.

Ich schlage vor, GeoNames.org .

WorldTimeServer.com hat, was eine umfassende Zeitzone-Datenbank zu sein scheint, mit dem Sie Zugang zu erwerben in einer Vielzahl von Formaten, für die Verwendung im Web einer .NET-Komponente enthält.

Keine Verbindung, hat gerade die gleiche Sache zu erforschen, mich vor kurzem.

Einfacher Offline-Library: APTimeZones

Um die Zeitzone für einen Ort zu finden, die Sie wie die Google Maps API der Zeitzone API verwenden können. Dies erfordert, dass Sie leider einen Remote-Service abfragen und Sie unterliegen ihre Grenzen.

Hier ist eine Bibliothek rom Alterplay genannt APTimeZones (Git angeschlossen ist), die Ihnen eine NSTimeZone extrahieren aus an einem bestimmten Ort, ohne die Notwendigkeit zu einem Remote-Dienst zu verbinden. APTimeZones funktioniert, indem eine lokale Liste der Zeitzonen Abfragen (mit der Bibliothek enthalten).

Falls jemand in dieser Frage stoßen sollte.

  • Sie könnten die Verwendung von Google-API für eine Adresse zu suchen. Das gibt Breiten- / logitude. Mit diesen Werten in der Hand, können Sie die nächste Zeitzone mit finden z.B. PHP.

  • Sie können auch eine API wie timezoneapi.io verwenden (ich dahinter bin), die Sie für eine Adresse / Stadt / Land suchen können. Es gibt die Adresse, die Zeitzone und die aktuelle Datum / Zeit für die gegebene Zeitzone.

https://timezoneapi.io/developers/address

Ich fand eine kostenlose Download-Datenbank hier: http://citytimezones.info/

[Bearbeiten] ... aber genauere Informationen (einschließlich Quellen) basierend auf der Olson DB finden Sie hier: http: // en.wikipedia.org/wiki/Tz_database

Ich weiß, das beantwortet wird, aber ich bin Entsendung diese Antwort als Menschen es immer noch nützlich sein könnten. - Die gewählte Antwort nicht successfuly jetzt funktioniert

Google seinen eigenen Service hat, die sehr zuverlässig und einfach zu bedienen ist, und gibt Informationen im JSON-Format. Es ermöglicht auch für eine benutzerdefinierte Zeit spezifiziert, beispiel erhält die Zeitzone in 2013.02.02 in Malta.

https://developers.google.com/maps/documentation/timezone/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top