Può essere reso ancora più semplice. Dato che stai utilizzando JavaScript, perché non utilizzare JavaScript anche per regolare il fuso orario sul client?
- Memorizza tutti gli orari sul server come UTC
- Servili al cliente come UTC
- Il client utilizza JavaScript per regolare l'ora in base al fuso orario locale
Questo non solo semplifica le cose, ma risolve anche un problema con il tuo modello. Se ho registrato il mio account a New York ma viaggio in Australia, voglio vedere gli orari secondo il fuso orario australiano. Infatti, utilizzando JavaScript che utilizzi puoi facilmente regolare le impostazioni, rendendo il design ancora più dinamico. In secondo luogo, puoi evitare il sovraccarico della memorizzazione del fuso orario dell'utente.
Detto questo, se vuoi che il tuo design venga degradato a browser non JavaScript, allora è meglio adottare un approccio completo lato server basandosi sui cookie HTTP (invece di fare affidamento su JS per recuperare i cookie).