Time.parse和DateTime.parse返回不同​​的结果

时间:2013-10-13 09:14:43

标签: ruby datetime

为什么这两个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

1 个答案:

答案 0 :(得分:11)

输入String中没有时区信息。因此DateTime.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"