Zeitdifferenz zwischen zwei Zeitzonen

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
HJW
Mitglied
Beiträge: 1291
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Zeitdifferenz zwischen zwei Zeitzonen

Beitrag von HJW »

Hallo,

wie berechne ich denn die Differenz zwischen 2 Zeitzonen, der board_timezone und der user_timezone?
HJW
Mitglied
Beiträge: 1291
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag 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?
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag 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.
Forum: cruiser-lounge.de
PHPBB-Version: 3.3.11 / Debian-Linux 10 / PHP-Version: 8.1
HJW
Mitglied
Beiträge: 1291
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag 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. 8)

Es geht hie drum:

Code: Alles auswählen

ich brauche aber den Wert +-UTC. Kann ich den irgendwie abfragen?
Benutzeravatar
chris1278
Mitglied
Beiträge: 3532
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag von chris1278 »

Also zeit werte dafür kannst du die php funktion date nutzen.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17399
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag 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;
HJW
Mitglied
Beiträge: 1291
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag von HJW »

Danke Doc,

aber was muss ich tun, damit ich die „DateTime”-Klasse in meiner Extension nutzen kann?
Benutzeravatar
3Di
Mitglied
Beiträge: 106
Registriert: 12.03.2010 14:33
Wohnort: Milano 🇮🇹 Frankfurt 🇩🇪
Kontaktdaten:

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag 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
:ugeek: phpBB Studio 🎁 Spende - Ich bin für die Ukraine! 🇺🇦

Private Nachricht nur für bezahlte Arbeiten.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17399
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag von Dr.Death »

use DateTime;
Antworten

Zurück zu „Extension Bastelstube“