2011-06-27 3 views
4

Je dois affecter un décalage de fuseau horaire à une heure pour obtenir le jour actuel de la semaine pour un décalage spécifié. Ce n'est pas avec des rails donc j'ai besoin d'un formateur/analyseur Ruby pur pour faire cela.Problème de décalage de fuseau horaire Ruby

Merci.

Répondre

3

Ce que j'ai trouvé:

require 'date' 
local = DateTime.now 
new_offset = Rational(0, 24) #put the offset you want as first argument 
utc = local.new_offset(new_offset) 
0

Renvoie le décalage en secondes entre le fuseau horaire et l'heure UTC.

t = Time.gm(2000,1,1,20,15,1) #=> 2000-01-01 20:15:01 UTC 
    t.gmt_offset     #=> 0 
    l = t.getlocal     #=> 2000-01-01 14:15:01 -0600 
    l.gmt_offset     #=> -21600 
+0

Mais comment puis-je convertir cette fois-ci par exemple décalage 7? Ma question est que je veux obtenir le jour de la semaine au décalage spécifique (explicitement spécifié) pas UTC ou heure locale de la machine. Donc, lors de la création d'un obj date/heure, comment attribuer un décalage de fuseau horaire? – Mayumi

0
#As a string 
t = Time.new(2011,6,27,14,10,0, "+07:00") 
# or in seconds from UTC 
t = Time.new(2011,6,27,14,10,0, 7*60*60) 
Questions connexes