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.
Benutzeravatar
3Di
Mitglied
Beiträge: 106
Registriert: 12.03.2010 14:33
Wohnort: Milano 🇮🇹 Frankfurt 🇩🇪
Kontaktdaten:

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag von 3Di »

Dr.Death hat geschrieben: 29.01.2022 00:17 use DateTime;
Ich denke, das ist nicht notwendig.
:ugeek: phpBB Studio 🎁 Spende - Ich bin für die Ukraine! 🇺🇦

Private Nachricht nur für bezahlte Arbeiten.
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 »

Ich bekomme aber immer diese Fehlermeldung:

Code: Alles auswählen

Fatal error: Uncaught Error: Class "hjw\calendar\event\DateTime" not found in C:\xampp\htdocs\calendar.de\ext\hjw\calendar\event\main_listener.php:953 Stack trace: #0 C:\xampp\htdocs\calendar.de\vendor\symfony\event-dispatcher\EventDispatcher.php(214): hjw\calendar\event\main_listener->calendar(Object(phpbb\event\data), 'core.posting_mo...', Object(phpbb\event\dispatcher)) #1 C:\xampp\htdocs\calendar.de\vendor\symfony\event-dispatcher\EventDispatcher.php(44): Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(Array, 'core.posting_mo...', Object(phpbb\event\data)) #2 C:\xampp\htdocs\calendar.de\phpbb\event\dispatcher.php(62): Symfony\Component\EventDispatcher\EventDispatcher->dispatch('core.posting_mo...', Object(phpbb\event\data)) #3 C:\xampp\htdocs\calendar.de\phpbb\event\dispatcher.php(46): phpbb\event\dispatcher->dispatch('core.posting_mo...', Object(phpbb\event\data)) #4 C:\xampp\htdocs\calendar.de\posting.php(2066): phpbb\event\dispatcher->trigger_event('core.posting_mo...', Array) #5 {main} thrown in C:\xampp\htdocs\calendar.de\ext\hjw\calendar\event\main_listener.php on line 953
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 »

Dr.Death hat geschrieben: 29.01.2022 00:17 use DateTime;
Danke, jetzt funktioniert es.
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 »

Es geht auch ohne DateTime:

Code: Alles auswählen

$diff = date_offset_get(date_create($date, timezone_open($this->config['board_timezone']))) + date_offset_get(date_create($date, timezone_open($this->user->data['user_timezone'])));
Benutzeravatar
chris1278
Mitglied
Beiträge: 3535
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag von chris1278 »

Das würde aber vermutlich auch nur funktionieren wenn der user seine korrekte Zeitzone eingetragen hat.
Zuletzt geändert von Kirk am 29.01.2022 10:30, insgesamt 1-mal geändert.
Grund: Unnötiges Komplettzitat entfernt
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 »

ja, klar. Aber wenn nicht, bekommt er doch sowieso eine falsche Boardzeit angezeigt.
Ich muss natürlich vorher noch prüfen, ob er eine Zeitzone ausgewählt hat.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17401
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag von Dr.Death »

HJW hat geschrieben: 29.01.2022 09:50 Es geht auch ohne DateTime:

Code: Alles auswählen

$diff = date_offset_get(date_create($date, timezone_open($this->config['board_timezone']))) + date_offset_get(date_create($date, timezone_open($this->user->data['user_timezone'])));
Du müsstest das "+" mit einem "-" tauschen.... dann bekommst du den echten Unterschied zwischen Board und Userzeit heraus, oder ?

date_offset_get berechnet nur den Unterschied zwischen UTC und der Abzufragenden Zeitzone.

..oder habe ich gerade wieder den Zeitzonen Murks in meinem Kopf ?
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: Zeitdifferenz zwischen zwei Zeitzonen

Beitrag von 69bruno »

Ob + oder - hängt davon ab, welche Zeitzonen im Spiel sind.
Soll das nur für einen Server sein, oder als Extension in der Welt verteilt werden können ?
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 »

Dr.Death hat geschrieben: 29.01.2022 12:02 date_offset_get berechnet nur den Unterschied zwischen UTC und der Abzufragenden Zeitzone.
Ja, deshalb frage ich ja beide ab. Sollte doch reichen, oder?
Dr.Death hat geschrieben: 29.01.2022 12:02 Du müsstest das "+" mit einem "-" tauschen.... dann bekommst du den echten Unterschied zwischen Board und Userzeit heraus, oder ?
Hast recht.
69bruno hat geschrieben: 29.01.2022 12:21 Soll das nur für einen Server sein, oder als Extension in der Welt verteilt werden können ?
Es geht um meinen Kalender. Im Moment ist es so, dass, wenn z.B. ein Amerikaner und ein Europäer ein Event mit der gleichen Ortszeit eintragen, die auch als gleichzeitig stattfinden angezeigt bekommen. Die finden aber nun mal mit +- 6 Stunden Unterschied statt.

Ich weiß zwar nicht, ob das irgendwie relevant ist. 8)
Antworten

Zurück zu „Extension Bastelstube“