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

Assignee deleted (tadf (tadayoshi funaba))
Status changed from Assigned to Open

----------------------------------------
Bug #12285: Date.iso8601 does not properly handle partial date strings
https://bugs.ruby-lang.org/issues/12285#change-79572

* Author: backus (John Backus)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
* Backport: 2.1: REQUIRED, 2.2: REQUIRED, 2.3: REQUIRED
----------------------------------------
> For reduced accuracy, any number of values may be dropped from any of the date and time representations, but in the order from the least to the most significant. For example, "2004-05" is a valid ISO 8601 date, which indicates May (the fifth month) 2004.

From https://en.wikipedia.org/wiki/ISO_8601#cite_ref-AccuracyVsPrecision_8-0

However if I parse this example value with `Date.iso8601` I get "January 5th, 2004" when I expect "May 1st, 2004":

```
$ irb -r date
2.3.0 :001 > date = Date.iso8601('2004-05')
 => #<Date: 2004-01-05 ((2453010j,0s,0n),+0s,2299161j)>
2.3.0 :002 > date.month
 => 1
 ```

---Files--------------------------------
iso8601_YYYY_MM.patch (1.39 KB)


-- 
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>