[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bug in date: --rfc-3339=seconds and --rfc-3339=ns options do *not* o
Re: bug in date: --rfc-3339=seconds and --rfc-3339=ns options do *not* output timestamps in RFC 3339 format
Thu, 4 May 2006 12:38:17 +0900
Paul Eggert wrote:
> Romain Lenglet writes:
> > Replacing "T" with a space character is an option in ISO
> > 8601, but not in RFC 3339.
> This is backwards. ISO 8601 does its utmost to require "T",
> but RFC 3339 explicitly contradicts this, saying in section
> 5.6 "Applications using this syntax may choose, for the sake
> of readability, to specify a full-date and full-time separated
> by (say) a space character."
Please don't cut out what does not suit you! ;-)
The full quotation is:
"NOTE: ISO 8601 defines date and time separated by "T".
Applications using this syntax may choose, for the sake of
readability, to specify a full-date and full-time separated by
(say) a space character."
Here, "this syntax" refers to ISO 8601!
I admit that the wording is odd, and I first interpreted it
But it is unambiguous in Appendix A:
"ISO 8601 states that the "T" may be omitted under some
circumstances. This grammar requires the "T" to avoid
Here, "This grammar" refers to the (slightly modified to make
the "T" mandatory) complete syntax of ISO 8601, which is
specified in Appendix A.
Which means, that ISO 8601 allows to replace "T" with a space,
but RFC 3339 does not.
It is very unambiguous in the ABNF specifications, both in
Appendix A (full ISO 8601 syntax, modified to disallow a space
instead of "T" unlike ISO 8601), and in section 5.6 (RFC 3339
syntax, which is a subset of the ISO 8601 syntax).
In Appendix A:
"iso-date-time = date "T" time"
In section 5.6:
"date-time = full-date "T" full-time"
(That's why they used the ABNF notation: to avoid ambiguity!)
Both ISO 8601 and RFC 3339 allow the "T", but RFC 3339 explicitly
disallows to replace it with a space.
I hope that I clarified the situation? :-)