2011-06-27 80 views
4

我需要为Time指定一个时区偏移量以获取指定偏移量的当前星期几。 这不是与rails,所以我需要一个纯粹的Ruby格式化器/解析器来做到这一点。Ruby时区偏移问题

谢谢。

回答

3

这是我发现:

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

返回时间和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

但我怎么转换这个时间,例如偏移+7?我的问题是我想在特定的偏移量(明确指定)而不是UTC或机器本地时间获取星期几。所以当创建日期/时间obj时,我如何分配时区偏移量? – 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)