Project

General

Profile

Actions

Bug #11673

closed

Inconsistent timezone behaviour (Time.parse and DateTime.parse)

Added by Arnvald (Grzegorz Witek) over 8 years ago. Updated almost 5 years ago.

Status:
Closed
Target version:
-
ruby -v:
2.3.0dev (2015-05-07 trunk 50439)
[ruby-core:71432]

Description

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

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

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 returns it in UTC. According to specification, without letter "Z" in the end, the time should be in local timezone (so Time class is correct and DateTime is wrong)

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

Actions

Also available in: Atom PDF

Like0
Like0Like0