Google Maps Api – Timezone in UTC Zeitzonen umrechnen

Mithilfe der Google Maps API kann man die Timezone in UTC Zeitzonen umrechnen. Doch ich hatte am Anfang Probleme zu verstehen, wie ich das mache. Aber nach ein bisschen querlesen im Internet habe ich es verstanden und mir eine PHP Funktion gebaut, die mir automatisch die Timezone (rawOffset) in UTC/GMT umrechnet. Ich möchte Euch in meinem kleinen Tutorial zeigen, wie auch Ihr die Timezone mit PHP umrechnen könnt.

icon infoEinfach in die Karte klicken und Euch wird die entsprechende Zeitzone angezeigt

Timezone mit der Google Maps API erhalten und in UTC/GMT umrechnen

Um die Timezone in UTC umwandeln zu können benötigt Ihr vorab erst eimal die folgende Daten:

  1. Latitude & Longitude des gesuchten Ortes
  2. Timestamp (Aktueller oder einen in der Vergangenheit/Zukunft liegender)
  3. Euren persönlichen Google API Key

Aufrufen der Google Maps Timezone API

Wenn Ihr die benötigten Daten habt, dann könnt Ihr diese mit den Platzhaltern im folgenden Link austauschen.


https://maps.googleapis.com/maps/api/timezone/json?location=LAT,LNG&timestamp=TIMESTAMP&key=DEIN_API_KEY


Keine Produkte gefunden.

Beispiel

In den folgenden Beispielen möchte ich mit den Daten von Berlin arbeiten, die wie folgt aussehen:

  • Lat: 52.5200066
  • Lng: 13.404954
  • Timestamp: 1458000000

Um sicher zu gehen, dass der Link richtig zusammengebaut ist, gebe ich Meinen Link (API KEY anfügen!) sicherheitshalber in einen neuen Tab ein und erhalte folgendes Resultat:

google maps timezone api berlin

Solltet Ihr ebenfalls Daten mit den Status OK erhalten, dann können wir mit der Umrechnung in UTC/GMT beginnen.

Wie rechnet man Timezone in UTC/GMT mit der Google Maps Api um?

Um eine eigen PHP Funktion schreiben zu können musste ich erst einmal verstehen, was mir die Google Maps Timezone API bietet. In meinem Beispiel erhalte ich folgende Daten

„dstOffset“ : 0,
„rawOffset“ : 3600,
„status“ : „OK“,
„timeZoneId“ : „Europe/Berlin“,
„timeZoneName“ : „Central European Standard Time“

dstOffset

Gibt in Sekunden an, ob sich die Zeitzone in der Sommerzeit befindet (3600) oder 0, wenn Sie sich nicht in der Sommerzeit befindet.

rawOffset

Dies gibt die UTC (in Sekunden) für die angegebene Position an, unabhängig von der Sommerzeit.

Status

Selbsterklärend!

timeZoneId

Gibt den Namen der Zeitzone wieder

timeZoneName

Enthält den Langnamen der Zeitzone

Formel zur Berechnung der UTC Zeitzonen

Nun möchte ich zu ein paar Beispielen kommen, anhand derer ich zeigen möchte, wie man den Timezone in UTC umrechnen kann:

Keine Produkte gefunden.

Formel: UTC = ( rawOffset / 3600 ) + ( dstOffset / 3600 )

Beispiel 1 – Berlin

„dstOffset“ : 0,
„rawOffset“ : 3600,

Rechnung: ( 3600 / 3600 ) + ( 0 / 3600 ) = UTC/GMT +1 Stunde

Beispiel 2 – New York (Sommerzeit)

„dstOffset“ : 3600,
„rawOffset“ : -18000,

Rechnung: ( -18000 / 3600 ) + ( 3600 / 3600 ) = UTC/GMT -4 Stunde

Beispiel 3 – New York (Winterzeit)

„dstOffset“ : 0,
„rawOffset“ : -18000,

Rechnung: ( -18000 / 3600 ) + ( 0 / 3600 ) = UTC/GMT -5 Stunde

Beispiel 4 – Australien

„dstOffset“ : 3600,
„rawOffset“ : 34200,

Rechnung: ( 34200 / 3600 ) + ( 3600 / 3600 ) = UTC/GMT +10.5 Stunde

Hier tritt eine Besonderheit auf, denn es gibt manchmal den Fall, dass das Ergebnis eine Nachkommastelle auswirft. Diese muss einfach mit 60 multipliziert werden und schon erhält man die Minuten.

Rechnung: 0.5 * 60 = 30 Minuten

Demnach wäre das Ergebnis von Beispiel 4: +10.30 Stunde

Keine Produkte gefunden.

PHP Funktion – Umrechnen der Timezone in UTC/GMT

Nun kommen wir aber endlich zur Funktion, die automatisch die Timezone in UTC umrechnet.

Zunächst einmal rufe ich die Funktion im Template auf

utcTimezone($rawOffset, $dstOffset, $timeZoneId, $status );

Anschließend rechne ich die Werte in der Funktion aus und gebe die UTC/GMT Zeitzone automatisch zurück.

unction utcTimezone( $rawOffset, $dstOffset, $timeZoneId, $status ) {
	if ( $status == 'OK' ) {
		$dstOffset		=	$dstOffset / 3600;
		
		$rawOffset		=	( $rawOffset / 3600 );
		$rawOffset		=	explode('.', $rawOffset);
		
		if ( $rawOffset[1] ) {
			$rawOffsetMin	=	'.' . $rawOffset[1] * 6;
		}
		
		$offset			=	$rawOffset[0] + $dstOffset;
		if ( $offset >= 0 ) {
			$plus		=	'+';
		}
		
		if ( $timeZoneId ) {
			$timeZoneName	=	' (' . $timeZoneId . ')';
		}
		
		$return			=	'UTC/GMT ' . $plus . $offset . $rawOffsetMin . 'h' . $timeZoneName;
	} else {
		$return			=	'Fehler';
	}
	
	return $return;
}

revilodesign oli

Hinterlasse doch ein Kommentar

Schreibe ein Kommentar zu Google Maps Api – Timezone in UTC Zeitzonen umrechnen

Wenn dir der Beitrag Google Maps Api – Timezone in UTC Zeitzonen umrechnen gefallen hat oder du Kritik bzw. Verbesserungsvorschläge hast, dann würde ich mich freuen, wenn Du ein Kommentar hinterlassen würdest.

Hinterlasse ein Kommentar zum Beitrag "Google Maps Api – Timezone in UTC Zeitzonen umrechnen"

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Letzte Aktualisierung am 29.03.2024 / Affiliate Links / Bilder von der Amazon Product Advertising API

Follow Me

doch mal auf Instagram