Dá se to ještě zjednodušit. Když už používáte JavaScript, proč tedy nepoužít JavaScript k úpravě časového pásma na klientovi?
- Všechny časy na serveru ukládat jako UTC
- Poskytujte je klientovi jako UTC
- Klient používá JavaScript k úpravě času na místní časové pásmo
Nejen, že to dělá věci jednodušší, ale také to překonává problém s vaším modelem. Pokud jsem si zaregistroval svůj účet v New Yorku, ale cestuji do Austrálie, chci vidět časy podle australského časového pásma. Ve skutečnosti můžete pomocí JavaScriptu, který používáte, snadno upravit nastavení, takže návrh bude ještě dynamičtější. Za druhé, můžete se vyhnout režii při ukládání časového pásma uživatele.
To znamená, že pokud chcete, aby se váš design degradoval na prohlížeče bez JavaScriptu, pak je lepší zvolit úplný přístup na straně serveru a spoléhat se na soubory cookie HTTP (na rozdíl od spoléhání se na JS při načítání souborů cookie).