Zeitzonen-API von Google - Zeitstempelparameter

8

In meiner Client-Anwendung habe ich das Latitude & amp; Longitude Informationen von Skyhook API basierend auf seiner I.P.

Nun muss ich basierend auf den Informationen zur geografischen Breite und Länge die Zeitzoneninformationen des Clients herausfinden. Aber in der Ссылка der Google Timezone-API-Dokumentation sehe ich, dass der Zeitstempel ein Pflichtfeld ist. In welchem ​​Fall muss ich was tun.

Kannst du mir auch helfen zu verstehen, was der Timestamp entspricht? Zum Beispiel: - Wenn mein Anwendungsserver in USA ist (zB PST-Zeitzone) und der Google-API-Aufruf den Server-Zeitstempel übergibt.

Wenn sich der Benutzer bei der Client-Anwendung aus Indien an Lat / Long-Informationen anmeldet, um die Zeitzoneninformationen zu erhalten, was wird die API als dstOffset und rawOffset bereitstellen? Wenn ich den Server-Zeitstempel mit dstOffset und rawOffset hinzufüge, bekomme ich die Zeitzoneninformationen des Client-Rechners.

    
user2274857 12.04.2013, 14:53
quelle

2 Antworten

8

Ich habe mir in Timezone-API von Google einige Minuten lang den Kopf verkrampft, insbesondere auf der Zeitstempelparameter. Vielleicht wird dies die Notwendigkeit darstellen:

In San Diego haben wir (jetzt im August) einen GMT-Offset von -8 wegen der Sommerzeit. Im November haben wir jedoch einen GMT-Offset von -7 .

Also welchen GMT Offset sollte Google zurückgeben? -7 oder -8? Sie sind beide gültig, aber es hängt davon ab, an welchem ​​Tag Sie die Messung durchführen.

Geben Sie das Timestamp-Argument ein. Wenn Sie den Dienst jetzt ausführen und einen Zeitstempelwert von August 2015 verwenden, erhalte ich folgende Antwort:

%Vor%

Aber wenn ich den Zeitstempel bis November 2015 knacke (sobald San Diego keine Sommerzeit mehr hat, komme ich am Ende dazu):

%Vor%

In beiden Fällen ist der rawOffset derselbe, aber der DST hat sich aufgrund des von mir angegebenen Zeitstempels geändert. Wenn Sie nur die rohe Zeitzone kennen wollen, spielt der Zeitstempel keine Rolle.

Aber wenn Sie möchten, dass eine Anwendung um 8:00 Uhr in San Diego im August und 8:00 Uhr im November in San Diego zuverlässig etwas unternimmt, müssen Sie den Zeitstempel aktivieren.

Anders gesagt, was ist es wert zu wissen, dass San Diego normalerweise -7 Stunden von GMT entfernt ist? Wenn Sie mit Zeitzonen arbeiten, versuchen Sie wahrscheinlich sicherzustellen, dass Ihre UTC-Zeit mit dem übereinstimmt, was eine reale Person an diesem Ort erlebt. Daher ist der DST-Offset kritisch.

    
Eric 21.08.2015 14:11
quelle
2

Der Dokumentationslink, den Sie angegeben haben, besagt eindeutig, dass der Zeitstempel in UTC sein sollte und dass er verwendet wird, um den korrekten DST-Offset-Wert anzuzeigen. Es wird auch gesteuert, ob das Feld timeZoneName mit "Standard" oder "Tageslicht" im Namen angezeigt wird.

Wenn Sie sich nicht darum kümmern und nur das Feld timeZoneId wollen, dann ist es egal, welchen Wert Sie übergeben.

    
Matt Johnson 12.04.2013 15:19
quelle