Basically title. 2019 edition of the Standard denotes the “T” prefix to time as mandatory (except in “unambiguous contexts”):

01:29:59 is now actually T01:29:59, with the former form now designated as an alternative

But date does not have a “D” prefix, not even in “ambiguous contexts”.

1973-09-11 never needs to be something like eg.: D1973-09-11

Anyone know the reasoning behind this change and what is the intended use? The only time-only format with separators that I can think would be undecidable in ambiguous contexts would be hh:mm which I guess could be mistaken for bible verses?

  • Dr. Wesker
    link
    English
    3
    edit-2
    10 months ago

    I suspect the T acts as a delimiter. D is unnecessary, because the date is at the beginning of the string. And then Z is another delimiter, to separate the time from the timezone.

    EDIT: I think I misunderstood your question, but I’ll leave my post, in case it’s useful to others when considering the sections of a full timestamp.

    • @mnw
      link
      English
      210 months ago

      I think you’re probably right. If the format was

      DATETTIMEZTIMEZONE

      And you omit DATE you still have TTIME

      • @lambaliciousOP
        link
        English
        110 months ago

        Hmmm those are good points. I feel this gels well with how in the syntax for durations / periods all unit delimiters are mandatory (also because they’re tail) when the unit is present and the header / marker is P.

    • @sqw
      link
      English
      210 months ago

      I have always found the uppercase T/Z delimiters to make the timestamp less human-readable.

  • @mnw
    link
    English
    110 months ago

    The short answer I believe is that ISO 8601 is a Date format so we expect date but not time. Thats my take. I think it’s important to include timezone if you have time thought tbh