Это странное поведение недавно привлекло мое внимание, в то время как я тестировал свое приложение Rails в локальной среде, в которой я использую around_filter, чтобы установить часовой пояс для зарегистрированного пользователя (часовой пояс по умолчанию - UTC).timezones и делать аналитику на таблицах
Что я сделал, так это то, что я зарегистрировал нового пользователя в своем приложении. Мое текущее время было 10pm GMT-5 (3 марта), и время создания этого пользователя было сохранено в базе данных до 4:00 UTC (4 марта). Теперь я знаю, что это время сохраняется в базе данных с настройками часового пояса, но здесь возникает проблема:
Я использую график для визуального представления пользователей, зарегистрированных ежедневно, и когда я вызывал следующую функцию, чтобы сообщить мне номер пользователи, зарегистрированные в течение последних нескольких дней:
from ||= Date.today - 1.month
to ||= Date.today
where(created_at: from..to).group('DATE(created_at)').count
было бы сказать, что этот пользователь был зарегистрирован в 4 марта, в то время как это было на самом деле зарегистрировано 3 марта с моей точки зрения.
Мой вопрос: Как мне позвонить, где функция и группа по столбцу created_at, чтобы даты были правильно изменены (в соответствии с моим часовым поясом)?
Или есть что-то еще, что я должен делать по-другому?