您如何将 UTC 时间转换为 ruby​​ 中的 EST(不使用 Rails)?

Gra*_*son 7 ruby time

我正在像这样捕获当前时间:

Time.now
Run Code Online (Sandbox Code Playgroud)

我的服务器在 UTC 上运行。如何在不使用任何 Rails 库的情况下将时间转换为 EST?我在猜测某种抵消,但不确定它是如何工作的。

Dav*_*ric 5

在普通 Ruby 中,您可以使用Time.zone_offset方法:

require 'time'

t = Time.now                # 2014-07-30 18:30:00 UTC
t + Time.zone_offset('EST') # 2014-07-30 13:30:00 UTC
Run Code Online (Sandbox Code Playgroud)

  • 耶稣。另一个可怕的 ruby​​ 文档示例——Time 类没有提到一个事实,即有一个名为 `time` 的 Ruby 标准库包为 Time 类添加了有用的方法。我想补充一点,op 不应该依赖于服务器的偏移量是 0,所以使用 `t = Time.now.utc`。 (4认同)