Простая вещь, которую я хочу, это сохранить DateTime в UTC в базе данных и снова извлечь его в UTC, но рельсы, похоже, предполагают, что я сохранил DateTime в своем местном часовом поясе и добавляет разницу в 8 часов (PST). У меня есть поле DateTime в моей модели. Если я отправляю запрос (PUT) на обновление этого поля в конкретном экземпляре моей модели, временные зоны каким-то образом перепутываются по любой причине:
Отправка на рельсы по PUT: 2012-02-17T03: 46: 58Z
Возвращено через последующий GET: 2012-02-17T11: 46: 58Z
Разница во времени составляет ровно 8 часов и может быть объяснена моим часовым поясом, который является PST (-08: 00).
Я использую Datamapper 1.2 на Rails 3.1.3.
Я явно установил часовой пояс конфигурации приложения в UTC.
Я также пытался использовать dm-zone-types. Ничего не изменило для меня.
git-bisect в моем репо показал, что это неправильное поведение было введено, когда я переключил базу данных на postgres с исходного sqlite. Этот коммит изменил только database.yml и gemfile. Ничего другого.
Есть идеи?