Ruby on Rails
Zmień domyślną strefę czasową
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 modyfikacjiapplication.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