Здравствуйте!
Запутался напрочь с хранением времени пользовательских действий.
Изначально все построил таким образом: юзер заходит на сайт, логинится, скрипт определяет его IP и делает запрос к сервису geo-ip, тот возвращает временную зону, допустим
Europe/Moscow, сохраняем в базу... (так при каждой авторизации)
В основном контроллере я задаю:
date_default_timezone_set($this->user->timezone);
habrahabr.ru/post/124297
И тут начинаются проблемы и путаницы, к примеру юзер пишат сообщение, скрипт сохраняет его в базу,
в поле со временем записи заносит данные, полученные из time()
Получается результат
time() будет построен на основании временной зону пользователя - Europe/Moscow, а не сервера и не UTC...
Как быть? Сдается мне с логикой я изначально прокололся конкретно. Сейчас вижу только один выход, перелопать тонну кода (модели с
занесением информации в БД) и вставить туда строку:
date_default_timezone_set("UTC");
... хотя всеравно чувствую, что что-то здесь не так. Как сделать правильно и удобно?
наверное ошибкой было сохранять time() в поле INT(10)...