ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:95597] [Ruby master Bug#16286] DateTime.parse timezone errors
       [not found] <redmine.issue-16286.20191031004653@ruby-lang.org>
@ 2019-10-31  0:46 ` MATTHEW
  2019-10-31  2:25 ` [ruby-core:95598] " shyouhei
  2019-10-31 19:03 ` [ruby-core:95616] " merch-redmine
  2 siblings, 0 replies; 3+ messages in thread
From: MATTHEW @ 2019-10-31  0:46 UTC (permalink / raw)
  To: ruby-core

Issue #16286 has been reported by matt17r (Matthew LS).

----------------------------------------
Bug #16286: DateTime.parse timezone errors
https://bugs.ruby-lang.org/issues/16286

* Author: matt17r (Matthew LS)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
Trying to parse a DateTime using Australian time zone abbreviations doesn't work:

```
>> DateTime.parse('2019-10-31 10:49:52.36400 AEST')
=> #<DateTime: 2019-10-31T10:49:52+00:00 ((2458788j,38992s,364000000n),+0s,2299161j)>
# offset is +00:00 not +10:00     ^^^^^^
```

As per [this comment on a Rails issue](https://github.com/rails/rails/issues/36972#issuecomment-526260754), timezones are listed in [ext/date/zonetab.list](https://github.com/ruby/ruby/blob/master/ext/date/zonetab.list). Should these abbreviations be correct or are they deprecated?

Steps to reproduce:
```
>> require 'date'
=> true
>> DateTime.parse('2019-10-31 10:49:52.36400 AEST').zone
=> +00:00 # expected +10:00
>> DateTime.parse('2019-10-31 10:49:52.36400 AEDT').zone
=> +00:00 # expected +11:00
>> DateTime.parse('2019-10-31 10:49:52.36400 EAST').zone
=> +10:00 # expected -06:00
>> DateTime.parse('2019-10-31 10:49:52.36400 EASST').zone
=> +00:00 # expected -05:00
```

Additional info:
[ext/date/zonetab.list](https://github.com/ruby/ruby/blob/master/ext/date/zonetab.list) lists "EAST" with an offset of +10. *EAST* is the abbreviation for Easter Island, not for Australia Eastern Standard Time.

References:
1. the most recent data from [IANA](https://data.iana.org/time-zones/releases/?C=M;O=D) ([2019c at time of writing](https://data.iana.org/time-zones/releases/tzdata2019c.tar.gz)) refers to the timezones as *AEST* (or *AEDT* for DST)
2. the [Australian government](https://www.australia.gov.au/about-australia/facts-and-figures/time-zones-and-daylight-saving) uses *AEST* (or *AEDT* for DST)
3. *EAST* isn't referenced by IANA but [there](https://www.worldtimeserver.com/time-zones/east/) [are](https://24timezones.com/time-zone/east) [several](https://time.is/EAST) [sources](https://www.timeanddate.com/time/zones/east) that use *EAST* for Easter Island, off the coast of Chile (-6 rather than +10).

---Files--------------------------------
DateTime_parse_AEST_timezone_issue.rb (479 Bytes)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [ruby-core:95598] [Ruby master Bug#16286] DateTime.parse timezone errors
       [not found] <redmine.issue-16286.20191031004653@ruby-lang.org>
  2019-10-31  0:46 ` [ruby-core:95597] [Ruby master Bug#16286] DateTime.parse timezone errors MATTHEW
@ 2019-10-31  2:25 ` shyouhei
  2019-10-31 19:03 ` [ruby-core:95616] " merch-redmine
  2 siblings, 0 replies; 3+ messages in thread
From: shyouhei @ 2019-10-31  2:25 UTC (permalink / raw)
  To: ruby-core

Issue #16286 has been updated by shyouhei (Shyouhei Urabe).


Curious where were those abbreviation from.  According to `git log -G`, It was introduced in this commit https://github.com/ruby/ruby/commit/dc9cd6a8c22ad04baa7498fd0cbc5d519ed73be0 but no description came with it.

Maybe it's better to follow authoritative information such as tzdata.

----------------------------------------
Bug #16286: DateTime.parse timezone errors
https://bugs.ruby-lang.org/issues/16286#change-82387

* Author: matt17r (Matthew LS)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
Trying to parse a DateTime using Australian time zone abbreviations doesn't work:

```
>> DateTime.parse('2019-10-31 10:49:52.36400 AEST')
=> #<DateTime: 2019-10-31T10:49:52+00:00 ((2458788j,38992s,364000000n),+0s,2299161j)>
# offset is +00:00 not +10:00     ^^^^^^
```

As per [this comment on a Rails issue](https://github.com/rails/rails/issues/36972#issuecomment-526260754), timezones are listed in [ext/date/zonetab.list](https://github.com/ruby/ruby/blob/master/ext/date/zonetab.list). Should these abbreviations be correct or are they deprecated?

Steps to reproduce:
```
>> require 'date'
=> true
>> DateTime.parse('2019-10-31 10:49:52.36400 AEST').zone
=> +00:00 # expected +10:00
>> DateTime.parse('2019-10-31 10:49:52.36400 AEDT').zone
=> +00:00 # expected +11:00
>> DateTime.parse('2019-10-31 10:49:52.36400 EAST').zone
=> +10:00 # expected -06:00
>> DateTime.parse('2019-10-31 10:49:52.36400 EASST').zone
=> +00:00 # expected -05:00
```

Additional info:
[ext/date/zonetab.list](https://github.com/ruby/ruby/blob/master/ext/date/zonetab.list) lists "EAST" with an offset of +10. *EAST* is the abbreviation for Easter Island, not for Australia Eastern Standard Time.

References:
1. the most recent data from [IANA](https://data.iana.org/time-zones/releases/?C=M;O=D) ([2019c at time of writing](https://data.iana.org/time-zones/releases/tzdata2019c.tar.gz)) refers to the timezones as *AEST* (or *AEDT* for DST)
2. the [Australian government](https://www.australia.gov.au/about-australia/facts-and-figures/time-zones-and-daylight-saving) uses *AEST* (or *AEDT* for DST)
3. *EAST* isn't referenced by IANA but [there](https://www.worldtimeserver.com/time-zones/east/) [are](https://24timezones.com/time-zone/east) [several](https://time.is/EAST) [sources](https://www.timeanddate.com/time/zones/east) that use *EAST* for Easter Island, off the coast of Chile (-6 rather than +10).

---Files--------------------------------
DateTime_parse_AEST_timezone_issue.rb (479 Bytes)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [ruby-core:95616] [Ruby master Bug#16286] DateTime.parse timezone errors
       [not found] <redmine.issue-16286.20191031004653@ruby-lang.org>
  2019-10-31  0:46 ` [ruby-core:95597] [Ruby master Bug#16286] DateTime.parse timezone errors MATTHEW
  2019-10-31  2:25 ` [ruby-core:95598] " shyouhei
@ 2019-10-31 19:03 ` merch-redmine
  2 siblings, 0 replies; 3+ messages in thread
From: merch-redmine @ 2019-10-31 19:03 UTC (permalink / raw)
  To: ruby-core

Issue #16286 has been updated by jeremyevans0 (Jeremy Evans).


shyouhei (Shyouhei Urabe) wrote:
> Curious where were those abbreviation from.  According to `git log -G`, It was introduced in this commit https://github.com/ruby/ruby/commit/dc9cd6a8c22ad04baa7498fd0cbc5d519ed73be0 but no description came with it.
> 
> Maybe it's better to follow authoritative information such as tzdata.

I agree.  Not having much experience with the tz database, I'm not sure how to easily get abbreviation info out of it.  The tzinfo gem doesn't appear to expose a list of all abbreviations, though recent versions do allow getting current abbreviations for particular timezones.  It is hard to use that feature to add missing timezones, though.

I did find an alternative source for timezone abbreviations that was easier to deal with: https://www.timeanddate.com/time/zones/.  Not sure how authoritative it is, but it seems reasonable.  It does include AEST, AEDT, and EASST.  For backwards compatibility, we shouldn't change EAST. I've submitted a pull request to add new unambiguous time zones listed on that site: https://github.com/ruby/date/pull/16

----------------------------------------
Bug #16286: DateTime.parse timezone errors
https://bugs.ruby-lang.org/issues/16286#change-82407

* Author: matt17r (Matthew LS)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
Trying to parse a DateTime using Australian time zone abbreviations doesn't work:

```
>> DateTime.parse('2019-10-31 10:49:52.36400 AEST')
=> #<DateTime: 2019-10-31T10:49:52+00:00 ((2458788j,38992s,364000000n),+0s,2299161j)>
# offset is +00:00 not +10:00     ^^^^^^
```

As per [this comment on a Rails issue](https://github.com/rails/rails/issues/36972#issuecomment-526260754), timezones are listed in [ext/date/zonetab.list](https://github.com/ruby/ruby/blob/master/ext/date/zonetab.list). Should these abbreviations be correct or are they deprecated?

Steps to reproduce:
```
>> require 'date'
=> true
>> DateTime.parse('2019-10-31 10:49:52.36400 AEST').zone
=> +00:00 # expected +10:00
>> DateTime.parse('2019-10-31 10:49:52.36400 AEDT').zone
=> +00:00 # expected +11:00
>> DateTime.parse('2019-10-31 10:49:52.36400 EAST').zone
=> +10:00 # expected -06:00
>> DateTime.parse('2019-10-31 10:49:52.36400 EASST').zone
=> +00:00 # expected -05:00
```

Additional info:
[ext/date/zonetab.list](https://github.com/ruby/ruby/blob/master/ext/date/zonetab.list) lists "EAST" with an offset of +10. *EAST* is the abbreviation for Easter Island, not for Australia Eastern Standard Time.

References:
1. the most recent data from [IANA](https://data.iana.org/time-zones/releases/?C=M;O=D) ([2019c at time of writing](https://data.iana.org/time-zones/releases/tzdata2019c.tar.gz)) refers to the timezones as *AEST* (or *AEDT* for DST)
2. the [Australian government](https://www.australia.gov.au/about-australia/facts-and-figures/time-zones-and-daylight-saving) uses *AEST* (or *AEDT* for DST)
3. *EAST* isn't referenced by IANA but [there](https://www.worldtimeserver.com/time-zones/east/) [are](https://24timezones.com/time-zone/east) [several](https://time.is/EAST) [sources](https://www.timeanddate.com/time/zones/east) that use *EAST* for Easter Island, off the coast of Chile (-6 rather than +10).

---Files--------------------------------
DateTime_parse_AEST_timezone_issue.rb (479 Bytes)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-10-31 19:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <redmine.issue-16286.20191031004653@ruby-lang.org>
2019-10-31  0:46 ` [ruby-core:95597] [Ruby master Bug#16286] DateTime.parse timezone errors MATTHEW
2019-10-31  2:25 ` [ruby-core:95598] " shyouhei
2019-10-31 19:03 ` [ruby-core:95616] " merch-redmine

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).