4

为什么这两个parse语句返回不同的结果?

time = "13:30:0"

DateTime.parse(time).to_time.utc
#=>  2013-10-13 13:30:00 UTC

Time.parse(time).utc
#=>  2013-10-13 11:30:00 UTC
4

1 回答 1

12

输入中没有时区信息StringDateTime.parse因此假定为 UTC。Time.parse假设当地时间,我猜你在UTC + 2。

>> time = "13:30:0"
=> "13:30:0"
>> DateTime.parse(time).to_s
=> "2013-10-13T13:30:00+00:00"
>> Time.parse(time).to_s
=> "2013-10-13 13:30:00 +0200"
于 2013-10-13T09:36:57.723 回答