ОК после прочтения DOCS и просмотра этого рельсового приведения: http://railscasts.com/episodes/106-time-zones-revised
теперь все ясно.
config.time_zone = 'Eastern Time (US & Canada)'
этот параметр является фактическим параметром, который отвечает за преобразование всех объектов времени в этот текущий часовой пояс. так я видел это как -4
этот параметр:
config.active_record.default_timezone
это тот, кто решает, как сохранить время в БД, но... он получает только 2 возможных значения: :local и :UTC, а по умолчанию: :UTC
когда я использовал консоль rails, чтобы увидеть свою запись, представленное время после преобразования в «восточное время», чтобы увидеть фактическую дату, хранящуюся в базе данных:
created_at_before_type_cast
который вернул время UTC, так как это значение по умолчанию
и причина, по которой я думал, что в БД он хранится в моем часовом поясе +2, заключается в том, что я использовал MySQL Workbench, и его графический интерфейс только что показал мне значения даты и времени в моем локальном машинном времени.
резюме:
настройка, которая действительно имеет значение:
config.time_zone
это работает просто отлично. важно пройти через DOCS
person
guy schaller
schedule
24.03.2013