> The root of the collisions is the arbitrary number of extended digits
> (which may be 0, so you could have -0101, now is that the year 102
> BC, or January in 2001?  The extended formats also collide internally,
> i.e. what is the date +1985?  Is it a century or a year?

That document is a disaster for any software wanting to parse it's formats...  infact 
a human can't parse most of those formats without external information.

> The choices for resolving this are to:
>   1) Never allow an extended representation (even for +s which can't
>      collide externally) unless the user tells us to use it and
>      specifies the digits
>   2) Use the ordering above to break ties

When I started writing DateTime::Format::ISO8601 I was using the ordering method.  
Although I think it maybe necessary to to use both 1 and 2.  Someday I may finish this 
module - what name are you planning on using?

> I am leaning towards choice 2 for this, but things are not completely
> dire since I plan to allow the user of the module to pick which
> categories of formats to allow (and to specify how many digits are in
> an extended date).

It'll probably take a bunch of wired tweaks to get the right behavior.  Good luck :)

Cheers,

-J

--

Reply via email to