ruby-on-rails – 如何在Ruby中更改DateTime的时区?

阅读,写作和序列化日期和时间,同时保持时区不变,变得恼人。我使用Ruby(和Rails 3.0),并尝试更改DateTime的时区。 (到UTC),但不是时间本身。

我要这个:

t = DateTime.now
t.hour
-> 4
t.offset = 0
t.hour
-> 4
t.utc?
-> true

这是最近的,但这并不直观。

t = DateTime.now
t.hour
-> 4
t += t.offset
t = t.utc
t.hour
-> 4
t.utc?
-> true

有没有更好的方法?

使用Rails 3,你正在寻找DateTime.change()

dt = DateTime.now
=> Mon, 20 Dec 2010 18:59:43 +0100
dt = dt.change(:offset => "+0000")
=> Mon, 20 Dec 2010 18:59:43 +0000
翻译自:https://stackoverflow.com/questions/4467781/how-do-i-alter-the-timezone-of-a-datetime-in-ruby

转载注明原文:ruby-on-rails – 如何在Ruby中更改DateTime的时区?