IJMacD/rfc3339-iso8601

RFC 3339 and fractions of seconds

Closed this issue · 2 comments

RFC 3339:

   time-secfrac    = "." 1*DIGIT
   time-numoffset  = ("+" / "-") time-hour ":" time-minute
   time-offset     = "Z" / time-numoffset

   partial-time    = time-hour ":" time-minute ":" time-second
                     [time-secfrac]
   full-date       = date-fullyear "-" date-month "-" date-mday
   full-time       = partial-time time-offset

   date-time       = full-date "T" full-time

Therefore RFC 3339 supports only single digit fractions of seconds, not longer. Current list has a few lines with higher accuracy.

Hi Janne,

I believe you're misinterpreting the ABNF.

1* means repetition with a minimum of 1 and an unbounded maximum.

See RFC 2234 § 3.6 Variable Repetition.

True.

I wonder if there should be some kind of mention about about

The format defined below includes only one rarely used option:
fractions of a second. It is expected that this will be used only by
applications which require strict ordering of date/time stamps or
which have an unusual precision requirement.

e.g. shading on Venn diagram or mention in the table.

I just used an endpoint that was supposed to support RFC3339 but only fraction lengths 2 and 3 worked and 1 and 4 caused parser failures. Mentioning real-life edge cases is probably never-ending job => closing this.