Ruby on RailsИзменение часового пояса по умолчанию


замечания

config.active_record.default_timezone определяет, следует ли использовать Time.local (если установлено значение: local) или Time.utc (если установлено: utc) при выводе дат и времени из базы данных. По умолчанию: utc. http://guides.rubyonrails.org/configuring.html


Если вы хотите изменить часовой пояс Rails , но продолжайте сохранять Active Record в базе данных в UTC , используйте

# application.rb
config.time_zone = 'Eastern Time (US & Canada)'

Если вы хотите изменить часовой пояс Rails и иметь время хранения Active Record в этом часовом поясе, используйте

# application.rb
config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = :local

Предупреждение : вам нужно подумать дважды, даже трижды, перед тем, как сохранять время в базе данных в формате, отличном от UTC.

Заметка
Не забудьте перезапустить сервер Rails после изменения application.rb .


Помните, что config.active_record.default_timezone может принимать только два значения

  • : local (преобразовывается в часовой пояс, определенный в config.time_zone )
  • : utc (конвертирует в UTC)

Вот как вы можете найти все доступные часовые пояса

rake time:zones:all

Изменение часового пояса по умолчанию Связанные примеры