4

parseこれら 2 つのステートメントが異なる結果を返すのはなぜですか?

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

input にタイムゾーン情報がありません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 に答える