Настройка часового пояса в Rails - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь установить часовой пояс ActiveRecord от UTC до current time zone. Это то, что я закончил

Application.rb

module application
  class Application < Rails::Application
    config.load_defaults 5.2
    config.time_zone = 'Tokyo'.freeze
    config.active_record.default_timezone = :local
  end
end

Я выключил сервер, перезапустил и создал объект, а затем, когда я проверил created_at объекта, кажется, что ActiveRecords все еще записывает данные на основе времени UTC, а не Tokyo времени.

Любые решения, ребята?

1 Ответ

0 голосов
/ 17 сентября 2018

Это всегда записывает данные DateTime как UTC в базе данных, и они будут преобразованы в соответствии с config.time_zone, если вы позвоните object.created_at

Допустим, он хранится 2018-09-17 04:41:00 или Fri, 17 Sep 2018 04:41:00 UTC +00:00в базе данных.

Если вы сконфигурировали часовой пояс как Tokyo, то результатом будет Fri, 17 Sep 2018 13:41:00 JST +09:00

Кроме того, вы можете использовать метод .in_time_zone для преобразования DateTime на основе этой зоны.Вот .in_time_zone

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...