我有以下JSON:
{"dtime" : "2020-08-26T15:30:00+03:00"}
解析它,产生以下日期:
=> 2020-08-26 14:30:00 +0200
为什么它有+2偏移而不是+3?
编辑:我正在使用Rails 3.2.13,使用ActiveSupport 3.2.13。我正在尝试使用:
来解析字符串Time.parse(string)
但是,我注意到,如果我解析它:
DateTime.parse(string)
我得到了正确的偏移。
答案 0 :(得分:1)
我没有业务回答这个问题,因为我不使用Ruby。也就是说,只看标准库,原因似乎Time.parse
包括call到localtime
,它将解析结果转换为您的本地时区。
我怀疑你实际上是在GMT + 02中执行此代码。您可以查看Time.new
。我正在参加GMT -07。
>> Time.new
=> 2014-05-16 18:51:00 -0700
您可以将结果传递到localtime
。
>> require 'Time'
=> true
>> t = Time.parse("2020-08-26T15:30:00+03:00")
=> 2020-08-26 05:30:00 -0700
>> t.localtime("+03:00")
=> 2020-08-26 15:30:00 +0300