<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse_date(my_date):
 """Parse a date into canonical format of datetime.dateime. :param my_date: Either datetime.datetime or string in '%Y-%m-%dT%H:%M:%SZ' format. ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- :return: A datetime.datetime. ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- PURPOSE: Parse a date and make sure it has no time zone. """

        if isinstance(my_date, datetime.datetime):
            result = my_date
        elif isinstance(my_date, str):
            result = datetime.datetime.strptime(my_date, '%Y-%m-%dT%H:%M:%SZ')
        else:
            raise ValueError('Unexpected date format for "%s" of type "%s"' % (
                str(my_date), type(my_date)))
        assert result.tzinfo is None, 'Unexpected tzinfo for date %s' % (
            result)
        return result