Когато се сблъсках точно с този проблем, намерих тази справка , който съпоставя краткия списък с часови зони в стил Windows в подмножество от нелепо изчерпателния списък с часови зони в стил Unix.
На потребителите се представя падащо меню на тези имена в стил Windows (напр. (GMT-05:00) Източно време (САЩ и Канада)) и изборът им се съхранява в db във формат unix стил (напр. America/New_York )
Работата по прилагането на предпочитанията за часовата зона на потребителя се извършва в PHP по време на показване, като се използва Клас DateTime . Мисля, че бих препоръчал това, за да можете да сте сигурни, че датите, които манипулирате в SQL/PHP, винаги са в UTC, докато не се покажат.