Es kann noch einfacher gemacht werden. Da Sie JavaScript verwenden, warum verwenden Sie dann nicht auch JavaScript, um die Zeitzone auf dem Client anzupassen?
- Speichere alle Zeiten auf dem Server als UTC
- Stellen Sie sie dem Client als UTC bereit
- Der Client verwendet JavaScript, um die Zeit an die lokale Zeitzone anzupassen
Dies macht die Dinge nicht nur einfacher, sondern überwindet auch ein Problem mit Ihrem Modell. Wenn ich mein Konto in New York registriert habe, aber nach Australien reise, möchte ich die Zeiten gemäß der australischen Zeitzone sehen. Tatsächlich können Sie mit dem von Ihnen verwendeten JavaScript die Einstellungen einfach anpassen, wodurch das Design noch dynamischer wird. Zweitens können Sie den Aufwand für das Speichern der Zeitzone des Benutzers vermeiden.
Wenn Sie jedoch möchten, dass Ihr Design auf Nicht-JavaScript-Browser heruntergestuft wird, sind Sie besser dran, einen vollständig serverseitigen Ansatz zu wählen, der sich auf HTTP-Cookies stützt (anstatt sich auf JS zu verlassen, um Cookies abzurufen).