strptime is not handling time zones correctly. For example, if you use the format string "%FT%T%z" with ISO 8601 strings like
1999-05-31T13:20:00-04:00
and
1999-05-31T13:20:00-05:00
you get identical results back.
The code on line 510 seems seems to match the time zone offset but it only does something when the offset if zero.