Szukaj…


Uwagi

config.active_record.default_timezone określa, czy używać Time.local (jeśli ustawiony na: lokalny) czy Time.utc (jeśli ustawiony na: utc) podczas pobierania dat i godzin z bazy danych. Domyślnie jest to: utc. http://guides.rubyonrails.org/configuring.html


Jeśli chcesz zmienić strefę czasową Rails , ale nadal zapisujesz Active Record w bazie danych w UTC , użyj

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

Jeśli chcesz zmienić strefę czasową Rails ORAZ mieć czas przechowywania rekordów aktywnych w tej strefie czasowej, użyj

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

Ostrzeżenie : naprawdę powinieneś pomyśleć dwa razy, a nawet trzy razy, zanim zaoszczędzisz czas w bazie danych w formacie innym niż UTC.

Uwaga
Nie zapomnij zrestartować serwera Rails po modyfikacji application.rb .


Pamiętaj, że config.active_record.default_timezone może przyjąć tylko dwie wartości

  • : local (konwertuje do strefy czasowej zdefiniowanej w config.time_zone )
  • : utc (konwertuje na UTC)

Oto jak znaleźć wszystkie dostępne strefy czasowe

rake time:zones:all

Zmień strefę czasową Rails, ale nadal zapisuj Active Record w bazie danych w UTC

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

Zmień strefę czasową Rails ORAZ podaj czasy przechowywania rekordów aktywnych w tej strefie czasowej

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow