使用ActiveSupport :: TimeWithZone我能够执行以下操作并在正确的时区内获取TimeWithZone对象。
Time.current.in_time_zone('Alaska')
:> Thu, 19 Oct 2017 08:45:08 AKDT -08:00
是否存在与in_time_zone
等效的方法,我可以在几秒钟内将UTC偏移量传递给它并返回具有指定偏移量的TimeWithZone对象?
offset = -25200 # -25200 seconds == -08:00
Time.current.in_utc_offset(offset)
:> Thu, 19 Oct 2017 08:45:08 -08:00
提前致谢!
使用Rails 5.1.2
& Ruby 2.4.1
答案 0 :(得分:1)
是的,它是在vanilla中:#getlocal(sec)
。它不会给你一个ActiveSupport::TimeWithZone
但它会给你Time
你可以格式化或做任何你想做的事情,包括使用ActiveSupport扩展。
2.4.1 :016 > Time.now.getlocal(3600)
=> 2017-10-19 22:56:45 +0100
2.4.1 :017 > Time.now.getlocal(-3600)
=> 2017-10-19 20:56:48 -0100
PS:-25200是7小时秒:) -8:00将是28800