demerphq wrote:
> On 9/2/07, Michael G Schwern <[EMAIL PROTECTED]> wrote:
>> The first is a single ISO 8601 datetime.  The latter is an ISO 8601 date and
>> an ISO 8601 time separated by a space.  Two data fields instead of one.  So
>> it's all kosher, we just have to specify that's what we're doing.
>>
>>         tapdate = isodate " " isotime
> 
> Been a while since i looked at the spec closely, but I seem to recall
> that this is actually one of the valid formulations for an iso 8601
> date/timestamp. The spec doesn't specify only a single format, but
> rather a number of them. ISTR the 'T' is recommended but not
> mandatory.

I had this argument with the DateTime::Format::ISO8601 author last year, which
resulted in my doing a bunch of research, and lost.
http://rt.cpan.org/Ticket/Display.html?id=23307

What you're thinking of is RFC3339 which is more describing a state of affairs
on the Internet then anything else.

At best it can be *omitted* (not replaced with a space) if all parties agree,
which we can do because we're specifying the TAP format.  But it cannot be
replaced with a space and still called an ISO 8601 datetime.

"NOTE:  By mutual agreement of the partners in information interchange, the
character [T] may be omitted in applications where there is no risk of
confusing a date and time of day representation with others defined in this
International Standard."
        - ISO 8601:2004(E) Section 4.3.2

It all comes out effectively the same in the wash, its just a matter of how we
specify it.  Since RFC3339 isn't really a clear standard it's simpler to just
say that a TAP date is an [isodate " " isotime].  We can even say that it can
also be an [isodatetime], but recommend the former for readability, and
everybody wins.

Writing up a proposal on the wiki now.
http://testanything.org/wiki/index.php?title=TAP_datetime


-- 
Whip me, beat me, make my code compatible with VMS!

Reply via email to