Skip to content

ISO 8601 grammar deviation enumeration needs updating #2601

Closed

Description

@gibson042

ISO 8601 grammar currently claims "date, time, and time zone offset must each be fully in Basic format or Extended format", contradicting the actual grammar (which currently allows basic/extended mixtures such as "2023-06-11T2309Z" and "2023-06-11T17:09-0400").

It also fails to mention acceptance of strings like "2023-06-11T23:09:00+00:00:00.000000000[Etc/UTC]" that fail to conform with both ISO 8601 and IXDTF because they include sub-minutes UTC offset precision.

Both discrepancies, and any others that are discovered, should be fixed with an editorial update to that list.

Activity

  1. ptomato commented on Jun 12, 2023

    @ptomato
    Member

    ISO 8601 grammar currently claims "date, time, and time zone offset must each be fully in Basic format or Extended format", contradicting the actual grammar (which currently allows basic/extended mixtures such as "2023-06-11T2309Z" and "2023-06-11T17:09-0400").

    I don't think this is a contradiction? IIRC the intention was to allow each of date, time, and time zone offset to be in basic or extended format independently, while disallowing things such as 202306-11 and 23:0945.

  2. gibson042 commented on Jun 13, 2023

    @gibson042
    MemberAuthor

    Then it should probably be reworded, because that text isn't even coherent AFAICT... ISO 8601-1:2019 defines complete but precision-variable extended format representations for calendar date dateX as [year]["-"][month]["-"][day], local time of day timeX as ["T"][hour][":"][min][":"][sec], time shift shiftX as ["Z"] or [±][hour][":"][min] (and basic format shiftH as ["Z"] or [±][hour]), etc., and an extended format representation for the composite calendar date and time of day as the concatenation of [dateX]["T"][timeX] (where the ["T"] is essentially extracted from timeX) with either ["Z"], [shiftX], or [shiftH].

    Of particular note is that all separators in dateX and timeX are mandatory—I'm unaware of any concept like "fully" or "partially" in basic or extended format in any edition of ISO 8601, and I think all past confusion was limited to the question of date and time of day representations in which the some of the contained calendar date and time of day and time shift subcomponents are in basic format while others are in extended format (now disallowed in ISO 8601, but that clarification came too late, hence mixtures being documented in RFC 3339 Appendix A, accepted and produced by various database systems, and ultimately considered valid in this proposal). But the grammar in RFC 3339 does include such partial omission, so I clarifying text in Temporal is warranted. Suggestion:

    The constituent date, time, and time zone offset parts of a combined representation may each individually use basic format (with no separator symbols) or extended format (with mandatory - or : separators), as long as each such part is itself in either basic format or extended format (e.g., "1970-01-01T012345" and "19700101T01:23:45" are valid but "1970-0101T012345" and "1970-01-01T0123:45" are not).

  3. justingrant commented on Aug 17, 2023

    @justingrant
    Collaborator

    Meeting 2023-08-17: @gibson042 will PR this change.

  4. added a commit that references this issue on Aug 17, 2023
    01c5c85
  5. added a commit that references this issue on Aug 18, 2023
    f846f5d
  6. added a commit that references this issue on Aug 18, 2023
    08e1cb6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions