2013-04-09 3 views
1

J'ai essayé de modifier le fuseau horaire d'une session utilisateur à l'aide de la méthode Time.zone. Je reçois la bonne date et l'heure lorsque je fais Time.zone.now mais quand je fais une requête de sélection en utilisant ActiveRecord :: Base.connection.select_all, les colonnes datetime dans le résultat sont toujours en UTC. Que dois-je faire pour que toutes les requêtes de sélection renvoient des données dans le fuseau horaire défini à l'aide de la méthode Time.zone, sans modifier les vues? S'il vous plaît aider.Modification du fuseau horaire ActiveRecord pour une session

Répondre

0

Il est plus facile de convertir l'heure au fuseau horaire local avec ruby.

Time.now.in_time_zone() 

l'utiliser comme tel.

Time.now.in_time_zone('Alaska') # => Fri, 31 Dec 1999 15:00:00 AKST -09:00 

Vous pouvez donner la fonction d'une chaîne de fuseau horaire, ou un décalage horaire UTC

http://apidock.com/rails/Time/in_time_zone

+0

Je sais que je pourrais le faire, mais je suis à la recherche d'un moyen pour obtenir le décalage horaire appliqué directement dans le interrogez les résultats pour ne pas avoir à changer toutes mes vues. Est-ce possible? –

Questions connexes