Speichern der Zeiten in der Datenbank in UTC
Zeitangaben werden standardmäßig in der Zeitzone Europe/Berlin erfasst und auch so in der Datenbank gespeichert. Dies bietet sich vor allem dann an, wenn alle Benutzer der Anwendung in dieser Zeitzone unterwegs sind. So kann man sich die Umrechnung sparen. Möchte oder muss man unabhängig von der Zeitzone agieren, so sollten die Zeiten in der Datenbank in UTC gespeichert werden.
Achtung! Immer wenn man in diesem Fall ein DateTime Objekt erzeugt, ist dieses auch auf UTC eingestellt. Möchte man also ein Datum in der Oberfläche ausgeben, so mann man zunächst die korrekte (auszugebende) Zeitzone setzen.
In der Konfiguration der Anwendung muss folgendes eingestellt werden:
<site>
<saveTimesInUtc>true</saveTimesInUtc>
</site>
In ALLEN Dateien, die direkt aufgerufen werden (bootstrap.php, QueueRunner.php, ...) muss die Einstellung der Default-Zeitzone auf UTC geändert werden
date_default_timezone_set('UTC');
Die Zeitzone für die Anzeige kann in einer statischen Property im ConfigurationProvider hinterlegt werden. Default dieser Property ist Europe/Berlin
Configuration::setTimezone('Europe/Berlin');
Configuration::getTimezone();