【问题标题】:How to convert UTC time to configured timezone in rails 4如何将 UTC 时间转换为 Rails 4 中配置的时区
【发布时间】:2016-05-14 10:15:43
【问题描述】:

我从服务器收到一个时间字符串,我想将该字符串解析或转换为配置的时区(在我的例子中为东京时区):

  • Input: "2016-05-27T09:00:00.0000000"
  • Expected output: Fri, 27 May 2016 18:00:00 JST +09:00

我尝试这样输入:

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 时区中的日期时间。

    【讨论】:

    • 你拯救了我的一天(y)
    猜你喜欢
    • 2016-07-06
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 2019-05-31
    相关资源
    最近更新 更多