Rails Time.now.in_time_zone问题与-1200区域

时间:2014-05-27 18:35:49

标签: ruby-on-rails ruby timezone activesupport

我们允许用户在使用我们的应用时传递他们的时间偏移。有些正在传入-1200,这引起了无效时区的错误......它没有找到UTC偏移,但是在挖掘中,我觉得它应该找到它。根据维基百科,-12的偏移量是有效的:

美国本土外小岛屿 贝克岛 豪兰岛

使用此偏移处理铁路区域的处理是什么?

1 个答案:

答案 0 :(得分:2)

进一步探索:

https://github.com/rails/rails/issues/11390

如果你真的需要一个UTC -12:00偏移的区域你可以使用Etc / GMT + 12区域,奇数是它移动到日期线的另一边但是显示为GMT + 12 -12:00这是相同的。

>> ActiveSupport::TimeZone::MAPPING['Baker Island'] = 'Etc/GMT+12'
"Etc/GMT+12"

>> Time.zone = 'Baker Island'
"Baker Island"

>> Time.current
Tue, 27 May 2014 18:28:48 GMT+12 -12:00

希望有所帮助