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

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