如何在Ruby 1.8.7中创建具有特定时间的Time对象?

时间:2011-02-21 20:45:57

标签: ruby

在Ruby 1.9.2中我们可以做到:

Time.new(2008,6,21, 13,30,0, "+09:00")

如何在Ruby 1.8.7中做同样的事情?

2 个答案:

答案 0 :(得分:10)

根据您的需要,您可以使用Time.utc,Time.gm(Time.utc的同义词)或Time.local。所有三个人都采用参数来设定具体的时间和日期。

http://www.ruby-doc.org/core-1.8.7/classes/Time.html

答案 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