Ruby on RailsModifier le fuseau horaire par défaut


Remarques

config.active_record.default_timezone détermine s'il faut utiliser Time.local (si défini sur: local) ou Time.utc (si défini sur: utc) lors de l'extraction des dates et des heures de la base de données. La valeur par défaut est: utc. http://guides.rubyonrails.org/configuring.html


Si vous souhaitez modifier le fuseau horaire Rails , mais continuer à enregistrer Active Record dans la base de données en UTC , utilisez

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

Si vous souhaitez modifier le fuseau horaire Rails ET avoir les durées de stockage Active Record dans ce fuseau horaire, utilisez

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

Attention : vous devriez vraiment réfléchir à deux fois, voire à trois fois, avant de sauvegarder les temps dans la base de données au format non-UTC.

Remarque
N'oubliez pas de redémarrer votre serveur Rails après avoir modifié application.rb .


Rappelez-vous que config.active_record.default_timezone ne peut prendre que deux valeurs

  • : local (convertit dans le fuseau horaire défini dans config.time_zone )
  • : utc (convertit en UTC)

Voici comment trouver tous les fuseaux horaires disponibles

rake time:zones:all

Modifier le fuseau horaire par défaut Exemples Liés