在Ruby 1.9.2中我们可以做到:
Time.new(2008,6,21, 13,30,0, "+09:00")
如何在Ruby 1.8.7中做同样的事情?
答案 0 :(得分:10)
根据您的需要,您可以使用Time.utc,Time.gm(Time.utc的同义词)或Time.local。所有三个人都采用参数来设定具体的时间和日期。
答案 1 :(得分:5)
如果我正确理解了这个问题,你试图通过传递+09:00偏移来设置时间的时区。在Ruby 1.8.7中,您可以使用的唯一时区是本地(系统)时间或UTC / GMT。
你可以做的是创建一个新的时间,相当于你想要的时间,但是用UTC而不是UTC + 9:
ruby-1.8.7-p302 :052 > Time.parse("2008-06-21 13:30:00 UTC") - 9*3600
=> Sat Jun 21 04:30:00 UTC 2008
与此同时:
ruby-1.9.2-p0 :003 > Time.new(2008,6,21, 13,30,0, "+09:00").utc
=> 2008-06-21 04:30:00 UTC