• namingthingsiseasy@programming.dev
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    1 year ago

    I’m not sure I would agree with that. ISO-8601 is ambiguous, and very difficult to parse. For example, here are a couple valid ISO-8601 strings. Could you let me know what they mean?

    P1DT1H
    R10/2021-208/P1Y
    T22.3+0800
    22,3
    2021-W30-2
    2021-W30-2T22+08
    P1Y
    20
    

    Taken from here. My favorite is the last one (20). If someone just wrote 20 and told you to parse it using ISO-8601, what would you get? Hour? It could even be century (ie. 2023%100)!!

    So I would argue that ISO-8601 is just a wee bit too flexible. Personally, I like RFC 3339 just a bit more…

    Edit: that said, I would definitely agree that something along the lines of 2021-07-27T14:20:32Z is better than any regularly accepted alternative, and I pretty much format my dates that way all the time.

    • funkless_eck
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      to be fair, you don’t parse “20” without first passing “%C”

    • jan_Melisa055@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago
      1. A period of one day and one hour.
      2. A period of one year, ten times, from the 208th day of 2021.
      3. Ten hours and 18 minutes pm (I’m not sure about this one) on UTC+08:00 (China, for example).
      4. IDK.
      5. The 2nd day of the 30th week of 2021.
      6. Same as above, but at 22:00 in China, probably.
      7. A period of one year.
      8. IDK.