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/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>