> On 24 Dec 2015, at 00:08, Zefram (via RT) <perl6-bugs-follo...@perl.org> 
> wrote:
> 
> # New Ticket Created by  Zefram 
> # Please include the string:  [perl #127007]
> # in the subject line of all future correspondence about this issue. 
> # <URL: https://rt.perl.org/Ticket/Display.html?id=127007 >
> 
> 
> DateTime.Str is documented to produce output in ISO 8601 format by
> default, but the formatting of some year numbers outside the range 0 to
> 9999 inclusive is faulty.  The expanded representation that is required
> is governed by ISO 8601:2004 clause 4.1.2.4.  Firstly, for year numbers
>> 9999, the use of a leading sign is mandatory with year numbers of five
> or more digits, but the sign is being omitted:
> 
>> DateTime.new(:year(10000)).Str
> 10000-01-01T00:00:00Z
>> DateTime.new(:year(54321)).Str
> 54321-01-01T00:00:00Z
>> DateTime.new(:year(654321)).Str
> 654321-01-01T00:00:00Z
> 
> Secondly, for year numbers -999 to -1 inclusive, it is mandatory to use
> at least four digits, but only three are being used:
> 
>> DateTime.new(:year(-999)).Str
> -999-01-01T00:00:00Z
>> DateTime.new(:year(-1)).Str
> -001-01-01T00:00:00Z
> 
> The representation is correct for years <-999 and years 0 to 9999
> inclusive.

Fixed with 895546990f6001a5999ef , tests added with 0fa2c59924a35bb41e792


Can be closed.


Liz

Reply via email to