Дата рождения пользователя и часовой пользователей
Доброго всем времени суток!
Недавно заметил странное, на мой взгляд, поведение системы. Если у пользователя установлен часовой пояс с GMT меньшим, чем на сервере, то у всех пользователей в графе «День рождения» он видит дату на день меньше.
Это происходит из-за того, что дата рождения обрабатывается форматером date_format, который дополнительно «переводит» часы на GMT пользователя. В итоге вместо 12-12-2012 00:00:00, записаных в БД, форматированеи проходит что-то вроде 11-12-2012 23:00:00.
Какие есть мысли по поводу такого поведения системы? Я у себя признал это багой и в форматтер в итоге добавил флаг, который задает необходимость применения GMT смещений.
Недавно заметил странное, на мой взгляд, поведение системы. Если у пользователя установлен часовой пояс с GMT меньшим, чем на сервере, то у всех пользователей в графе «День рождения» он видит дату на день меньше.
Это происходит из-за того, что дата рождения обрабатывается форматером date_format, который дополнительно «переводит» часы на GMT пользователя. В итоге вместо 12-12-2012 00:00:00, записаных в БД, форматированеи проходит что-то вроде 11-12-2012 23:00:00.
Какие есть мысли по поводу такого поведения системы? Я у себя признал это багой и в форматтер в итоге добавил флаг, который задает необходимость применения GMT смещений.
7 комментариев
Особенно порадовало, что фикс анологичен моему локальному и при обновлении не будет кучи гемороя.
Если у человека свой шаблон, в котормо не используется форматтер, то проблемы нет.
Ошибка же только в отображении данных, а не в их сохранении.