Did you know that ISO 8601 is a very large standard that describes more than a single date and time format?
It describes periods, repetitions, many different syntax of describing years, week-of-year, day-of-year, seasons, quarters, semesters, trimesters.
It's mostly unknown because the standards are paywalled: you can't just read ISO 8601 without paying ISO money.
Most of the time, when people refer to ISO 8601, they mean the subset that is described in RFC 3339.
@jerub Which I find mildly annoying, since the discussion always goes, "We should document that we accept ISO8601!"
"Ok, but that's a ton of work because of XYZ, and includes formats that, if you encounter them, are more likely to be typos than deliberate choices."
"Err, ok, let's do RFC3339."
"Ok, so datetime only and time zone is required, as is the T separator."
"Well no that's too strict, I guess we should just accept some ad hoc defined formats that are ISO8601-like."
@jerub Yeah, something you can implement that is not suitable for most peoples' use cases 😛 The `T` is not really the big issue with RFC3339.
@pganssle rfc3339 has a little note saying you can separate by a space instead of a T because ISO 8601 does.
"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."
Which is a bit of a weird statement. Because ISO 8601 says use a T: you can use a space?
I'm not saying RFC 3339 is perfect. But it sets out something implementable.