Rails时区偏移量

Kel*_*end 23 timezone ruby-on-rails

所以看起来rails对时区有很好的支持,但我遇到了一个要求,我希望已经解决了,我只是没有在api中看到它.

我希望能够根据偏移量找到TimeZone.原因是我正在连接到api,这使得我将用户时区作为偏移量返回,并且不希望重新发明轮子将该偏移量转换为Rails TimeZone,以便应用程序的其余部分可以正确使用它.

有什么建议?谢谢您的帮助!

Pan*_*kos 40

您可以使用该[]方法获取时区ActiveSupport::TimeZone.您可以传递时区名称,小时偏移量或第二个偏移量.例如:

ActiveSupport::TimeZone["America/Los_Angeles"]                              
 => (GMT-08:00) America/Los_Angeles
ActiveSupport::TimeZone[-8]                              
 => (GMT-08:00) America/Los_Angeles
Run Code Online (Sandbox Code Playgroud)

但请记住,偏移量不等于时区,因为多个时区在任何一天都可以在同一偏移量上.