code: def iso2time(text):
      
      # clean up
      text = text.lstrip()
  
      # tz is time zone specifier string
      day, mon, yr, hr, min, sec, tz = [None]*7
  
      # loose regexp parse
      m = ISO_DATE_RE.search(text)
      if m is not None:
          # XXX there's an extra bit of the timezone I'm ignoring here: is
          #   this the right thing to do?
          yr, mon, day, hr, min, sec, tz, _ = m.groups()
      else:
          return None  # bad format
  
      return _str2time(day, mon, yr, hr, min, sec, tz)
docs: As for http2time, but parses the ISO 8601 formats:
  
      1994-02-03 14:15:29 -0100    -- ISO 8601 format
      1994-02-03 14:15:29          -- zone is optional
      1994-02-03                   -- only date
      1994-02-03T14:15:29          -- Use T as separator
      19940203T141529Z             -- ISO 8601 compact format
      19940203                     -- only date