def parse_datetime(datetimestring):
    '''
    Parses ISO 8601 date-times into datetime.datetime objects.
    This function uses parse_date and parse_time to do the job, so it allows
    more combinations of date and time representations, than the actual
    ISO 8601:2004 standard allows.
    '''
    try:
        datestring, timestring = re.split('T| ', datetimestring)
    except ValueError:
        raise isodate.ISO8601Error(
            "ISO 8601 time designator 'T' or ' '  missing. Unable to parse "
            "datetime string %r" % datetimestring
        )
    tmpdate = isodate.parse_date(datestring)
    tmptime = isodate.parse_time(timestring)
    return datetime.datetime.combine(tmpdate, tmptime)
def parse_datetime ( datetimestring ) : try : datestring , timestring = re . split ( 'T| ' , datetimestring ) except ValueError : raise isodate . ISO8601Error ( "ISO 8601 time designator 'T' or ' '  missing. Unable to parse " "datetime string %r" % datetimestring ) tmpdate = isodate . parse_date ( datestring ) tmptime = isodate . parse_time ( timestring ) return datetime . datetime . combine ( tmpdate , tmptime )
Parses ISO 8601 date-times into datetime.datetime objects.
    This function uses parse_date and parse_time to do the job, so it allows
    more combinations of date and time representations, than the actual
    ISO 8601:2004 standard allows.