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
Изменить часовой пояс Rails, но продолжайте сохранять Active Record в базе данных в UTC
# application.rb
config.time_zone = 'Eastern Time (US & Canada)'
Изменение часового пояса Rails и сохранение времени хранения активной записи в этом часовом поясе
# application.rb
config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = :local