【问题标题】:How to convert UTC time to configured timezone in rails 4如何将 UTC 时间转换为 Rails 4 中配置的时区
【发布时间】:2016-05-14 10:15:43
【问题描述】:
我从服务器收到一个时间字符串,我想将该字符串解析或转换为配置的时区(在我的例子中为东京时区):
我尝试这样输入:
Time.zone.parse("2016-05-27T09:00:00.0000000")
但它返回意外的输出:
Fri, 27 May 2016 09:00:00 JST +09:00
【问题讨论】:
标签:
ruby-on-rails
ruby
time
【解决方案1】:
如果解析的日期时间是 UTC 时间,则在解析之前显式添加 UTC 时区:
# this parses the time as local time:
Time.zone.parse("2016-05-27T09:00:00.0000000")
# => Fri, 27 May 2016 09:00:00 JST +09:00
# this parses the time as UTC and converts to local time:
Time.zone.parse("2016-05-27T09:00:00.0000000Z")
# => Fri, 27 May 2016 18:00:00 JST +09:00
注意附加到日期时间字符串的“Z”,这意味着这是 UTC 时区中的日期时间。