Comment puis-je obtenir le décalage utc dans les Rails?
J'ai besoin de l'utc décalage du fuseau horaire spécifié.
Vous devez vous connecter pour publier un commentaire.
J'ai besoin de l'utc décalage du fuseau horaire spécifié.
Vous devez vous connecter pour publier un commentaire.
config.time_zone = 'Berlin'
etconfig.active_record.default_timezone = 'Berlin'
dans l'application.rb (dans mon cas, sans que cela ne reflète pas la lumière du jour d'épargne ajustements correctement)config.active_record.default_timezone
à:local
au lieu de'Santiago'
, sinon chaque champ DateTime changement à néant. EstTime.zone_offset
allez faire face à l'heure d'été correctement?Time.now.utc_offset
travaille également avec l'heure d'été alors queTime.zone.utc_offset
ne le fait pas.Si vous avez besoin de prendre l'heure d'été, vous pouvez utiliser quelque chose comme ceci:
Time.zone.utc_offset
n'a pas.ActiveSupport::TimeWithZone
Time.now.utc_offset
semble fonctionner ainsi?Si vous avez un
ActiveSupport::TimeWithZone
objet, vous pouvez appelertime_zone.utc_offset
sur elle. Ainsi, par exemple,Time.zone.now.time_zone.utc_offset
.EDIT: Vous pouvez également utiliser le
gmt_offset
méthode d'instance normalTime
objets.Si vous êtes le stockage d'un utilisateur fuseau horaire comme un
Time.zone.name
chaîne telle que'Eastern Time (US & Canada)'
comme indiqué dans http://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html et que vous souhaitez obtenir le décalage horaire vous pouvez faire ceci:- Je utiliser
Time.zone.utc_offset /1.hour
pour obtenir le décalage dans les heures (par exemple:-8
pour San Francisco)Juste pour compléter la boucle, ici, maintenant j'utilise:
@course.start.utc_offset/60/60
afin d'obtenir le nombre d'heures nécessaires. Jquery compte à rebours a juste besoin d'-5 ou +3 dans leurtimezone
argument.Votre accueil google.