この正確な問題に直面したとき、私はこのリファレンスを見つけました 、簡潔なWindowsスタイルのタイムゾーンリストを、途方もなく網羅的なUnixスタイルのタイムゾーンリストのサブセットにマップします。
ユーザーには、これらのウィンドウスタイルの名前のドロップダウンが表示され(例:(GMT-05:00)東部標準時(米国およびカナダ))、選択内容はUNIXスタイルの形式(例:America / New_York)でデータベースに保存されます。 )
ユーザーのタイムゾーン設定を適用する作業は、表示時にPHPで行われ、DateTimeクラス 。これをお勧めします。SQL/PHPで操作している日付は、表示されるまで常にUTCであると確信できます。