Seite 1 von 2
Zeitdifferenz zwischen zwei Zeitzonen
Verfasst: 28.01.2022 17:42
von HJW
Hallo,
wie berechne ich denn die Differenz zwischen 2 Zeitzonen, der board_timezone und der user_timezone?
Re: Zeitdifferenz zwischen zwei Zeitzonen
Verfasst: 28.01.2022 19:10
von Lehrling
Dafür gibt es z.B. Websiten wie diese hier:
https://www.zeitverschiebung.net/de/
Re: Zeitdifferenz zwischen zwei Zeitzonen
Verfasst: 28.01.2022 20:17
von HJW
Da ich die Frage in der „Extension Bastelstube” gestellt habe, dachte ich mir, dass es klar war, dass es um eine Berechnung innerhalb einer phpbb-Extension geht.
Als timezone ist ja nur der Ort hinterlegt, ich brauche aber den Wert +-UTC. Kann ich den irgendwie abfragen?
Re: Zeitdifferenz zwischen zwei Zeitzonen
Verfasst: 28.01.2022 20:21
von 69bruno
Mathematisch :
Die Zone mit dem höheren Zahlenwert ermitteln (also ohne Vorzeichen) und dann von der größeren mit Vorzeichen die kleinere mit Vorzeichen abziehen.
Ergebnis = Zeitdifferenz.
Wie das in php umgesetzt werden könnte, muss ich mir erst ansehen.
Re: Zeitdifferenz zwischen zwei Zeitzonen
Verfasst: 28.01.2022 20:33
von HJW
69bruno hat geschrieben: 28.01.2022 20:21
Mathematisch :
Die Zone mit dem höheren Zahlenwert ermitteln (also ohne Vorzeichen) und dann von der größeren mit Vorzeichen die kleinere mit Vorzeichen abziehen.
Ergebnis = Zeitdifferenz.
Wie das in php umgesetzt werden könnte, muss ich mir erst ansehen.
Naja, das Vorzeichen brauch ich schon. Rechnen habe ich übrigens schon gelernt, auch wenn es schon etwas länger her ist, aber damals hieß das auch schon Mathematik.
Es geht hie drum:
Code: Alles auswählen
ich brauche aber den Wert +-UTC. Kann ich den irgendwie abfragen?
Re: Zeitdifferenz zwischen zwei Zeitzonen
Verfasst: 28.01.2022 20:39
von chris1278
Also zeit werte dafür kannst du die php funktion date nutzen.
Re: Zeitdifferenz zwischen zwei Zeitzonen
Verfasst: 28.01.2022 21:02
von Dr.Death
Ich hatte da mal was gebastelt um einen Offset zu finden....
Code: Alles auswählen
$one_hour = 3600;
$dst = (int) date('I') * $one_hour;
//$utc_diff is the difference in seconds from UTC to local server time zone i.E. UTC + 1 hour
$utc_diff = 3600;
// ToDo: Check if $offset_user is still valid if DST is ON or OFF.
$offset_user = $this->user->timezone->getOffset(new DateTime($this->config['board_timezone'])) - $utc_diff - $dst;
Re: Zeitdifferenz zwischen zwei Zeitzonen
Verfasst: 28.01.2022 21:56
von HJW
Danke Doc,
aber was muss ich tun, damit ich die „DateTime”-Klasse in meiner Extension nutzen kann?
Re: Zeitdifferenz zwischen zwei Zeitzonen
Verfasst: 29.01.2022 00:06
von 3Di
Es ist keine Installation erforderlich, um diese Klasse zu verwenden, sie ist Teil des PHP-Core.
https://www.php.net/manual/de/class.datetime.php
Re: Zeitdifferenz zwischen zwei Zeitzonen
Verfasst: 29.01.2022 00:17
von Dr.Death
use DateTime;