The documentation suggests that
parse-time-string can be fed ISO 8601 string, such as "1998-09-12T12:21:54-0200". However,
(parse-time-string "1998-09-12T12:21:54-0200") returns
(nil nil nil nil nil nil nil nil nil).
This function parses the time-string string into a list of the following form:
(sec min hour day mon year dow dst tz)
The format of this list is the same as what decode-time accepts (see Time Conversion), and is described in more detail there. Any element that cannot be determined from the input will be set to nil. The argument string should resemble an RFC 822 (or later) or ISO 8601 string, like “Fri, 25 Mar 2016 16:24:56 +0100” or “1998-09-12T12:21:54-0200”, but this function will attempt to parse less well-formed time strings as well.
Related question: Parsing formatted time string (inverse of format-time-string)
GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.8, cairo version 1.16.0) of 2020-01-13