Głowie się od pewnego czasu nad obsługą stref czasowych.
Ogólnie sprawa wygląda tak że zapisuję zawsze do bazy datę w formacie unixowym dla strefy GMT +0. Czyli ustawiam w php strefe czasu na na Europe/Dublin i to co zwraca time() wrzucam do bazy.
Teraz tylko przy wyświetlaniu pobieram ten czas i dodaje do niego 3600 razy przesunięcie godzinowe strefy czasowej która wybrał użytkownik.
Wszystko jest cacy... tylko że po zmianie czasu np. z zimowego na letni już nie będzie.
Na dodatek w tej samej strefie czas zimowy i letni trwa różnie... tzn. u nas jest teraz zimowy a gdzieś daleko na południe (w tej samej strefie) mają letni

Jak to wszystko poskładać żeby nikt nie osłupiał od złej daty?
I czy ten manual php.net jest świetny czy jednak rzeczywiście nie ma tam informacji czy czas z time() jest zimowy czy letni? No właśnie jaki jest?
Oczywiście nie chcę tak żeby użytkownik musiał stale pilnować jaki ma czas i zmieniać z zimowego na letni i odwrotnie. On ma tylko raz ustawić sobie strefę.