161 votes

Comment changer le fuseau horaire par défaut pour ActiveRecord dans Rails 3?

Dans mon application.rb je suis tombé sur le commentaire suivant

# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
 config.time_zone = 'Eastern Time (US & Canada)'

Comme vous le voir ci-dessus, j'ai fait config.time_zone à est le temps. Cependant, quand les dossiers sont créés dans la DB, il ressemble datetime est stocké en format UTC.

Dans le commentaire ci-dessus, ils disent

...et de la rendre Active, Enregistrement de conversion automatique de cette zone...

Comment puis-je le faire, et où?

Aussi, je vais être le déploiement de ce sur heroku et j'aimerais le réglage du report

198voto

Omnipresent Points 6477

ajouter les éléments suivants à application.rb fonctionne

  config.time_zone = 'Eastern Time (US & Canada)'
 config.active_record.default_timezone = 'Eastern Time (US & Canada)'
 

34voto

James Barona Points 338

Je suis arrivé à la même conclusion que Dean Perry après beaucoup d'angoisse. config.time_zone = 'Adelaide' et config.active_record.default_timezone = :local était la combinaison gagnante. Voici ce que j'ai trouvé pendant le processus.

12voto

Serg Points 3253

Si vous souhaitez définir le fuseau horaire sur UTC globalement, vous pouvez effectuer les opérations suivantes dans Rails 4:

 # Inside config/application.rb
config.time_zone = "UTC"
config.active_record.default_timezone = :utc
 

Assurez-vous de redémarrer votre application ou vous ne verrez pas les modifications.

-2voto

Anand Points 173

Si vous voulez définir l'heure locale. Ajout du texte suivant dans application.rb

config.time_zone = 'Chennai'

config.active_record.default_timezone = 'Chennai'

Puis redémarrez votre serveur

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X