def convert_val_to_time(val):
    """Try to convert value to date & time in ISO-8601 format or None.

    Format must include time zone information like '2014-11-06T19:00:02-0500'.

    Supported types are:
     - NoneType
     - str.
    """
    if val is None:
        return None
    elif isinstance(val, str):
        return val
    else:
        raise TypeError("Invalid value for convert_val_to_time : %s" % str(type(val)))