Дата рождения пользователя и часовой пользователей

Доброго всем времени суток!

Недавно заметил странное, на мой взгляд, поведение системы. Если у пользователя установлен часовой пояс с GMT меньшим, чем на сервере, то у всех пользователей в графе «День рождения» он видит дату на день меньше.

Это происходит из-за того, что дата рождения обрабатывается форматером date_format, который дополнительно «переводит» часы на GMT пользователя. В итоге вместо 12-12-2012 00:00:00, записаных в БД, форматированеи проходит что-то вроде 11-12-2012 23:00:00.

Какие есть мысли по поводу такого поведения системы? Я у себя признал это багой и в форматтер в итоге добавил флаг, который задает необходимость применения GMT смещений.

7 комментариев

avatar
  • ort
  • +2
avatar
Спасибо.
Особенно порадовало, что фикс анологичен моему локальному и при обновлении не будет кучи гемороя.
avatar
только сейчас узнал о существовании проблемы от своих пользователей, пришлось во все проекты вносить правки. Жаль, что этого фикса нет в последней сборке 1.0.3, которая скачивается с сайта.
avatar
Сорри за тупой вопрос. Этот фикс нужен всем, кто использует LS?
avatar
да
avatar
Не сосем верно. Если посмотреть, что именно фиксилось, то можно увидеть, что правили стандартный форматер дат, а так же шаблоны sinyo и developer.
Если у человека свой шаблон, в котормо не используется форматтер, то проблемы нет.
Ошибка же только в отображении данных, а не в их сохранении.
avatar
согласен, не подумал о разности шаблонов)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.