Project

General

Profile

Bug #11673

Updated by nobu (Nobuyoshi Nakada) over 8 years ago

The source of this bug is here: https://github.com/rails/rails/issues/22171#issuecomment-155090007 

 behaviour between `DateTime.parse` DateTIme.parse and `Time.parse` Time.parse is inconsistent when it comes to parsing ISO8601 without letter "Z" 

 ~~~ruby ~~~ 
 irb(main):003:0> time = "2015-11-20T03:05:30" 
 => "2015-11-20T03:05:30" 
 irb(main):005:0> Time.parse(time) 
 => 2015-11-20 03:05:30 +0800 
 irb(main):007:0> DateTime.parse(time) 
 => #<DateTime: 2015-11-20T03:05:30+00:00 ((2457347j,11130s,0n),+0s,2299161j)> 
 ~~~ 

 Time.parse returns time in local timezone, while `DateTime.parse` DateTime.parse returns it in UTC. According to specification, without letter "Z" in the end, the time should be in local timezone (so `Time` Time class is correct and `DateTime` DateTime is wrong) 

 Is this a bug or for some reason this is intended behaviour?

Back