Seite 2 von 2

Re: Zeitdifferenz zwischen zwei Zeitzonen

Verfasst: 29.01.2022 01:22
von 3Di
Dr.Death hat geschrieben: 29.01.2022 00:17 use DateTime;
Ich denke, das ist nicht notwendig.

Re: Zeitdifferenz zwischen zwei Zeitzonen

Verfasst: 29.01.2022 08:13
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

Re: Zeitdifferenz zwischen zwei Zeitzonen

Verfasst: 29.01.2022 08:31
von HJW
Dr.Death hat geschrieben: 29.01.2022 00:17 use DateTime;
Danke, jetzt funktioniert es.

Re: Zeitdifferenz zwischen zwei Zeitzonen

Verfasst: 29.01.2022 09:50
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'])));

Re: Zeitdifferenz zwischen zwei Zeitzonen

Verfasst: 29.01.2022 10:03
von chris1278
Das würde aber vermutlich auch nur funktionieren wenn der user seine korrekte Zeitzone eingetragen hat.

Re: Zeitdifferenz zwischen zwei Zeitzonen

Verfasst: 29.01.2022 10:15
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.

Re: Zeitdifferenz zwischen zwei Zeitzonen

Verfasst: 29.01.2022 12:02
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 ?

Re: Zeitdifferenz zwischen zwei Zeitzonen

Verfasst: 29.01.2022 12:21
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 ?

Re: Zeitdifferenz zwischen zwei Zeitzonen

Verfasst: 29.01.2022 12:35
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)