def get_completion_time(self):
if not self.has_ended():<EOL><INDENT>raise errors.IllegalState('<STR_LIT>')<EOL><DEDENT>if not self._my_map['<STR_LIT>']:<EOL><INDENT>raise errors.OperationFailed('<STR_LIT>')<EOL><DEDENT>completion_time = self._my_map['<STR_LIT>']<EOL>return DateTime(year=completion_time.year,<EOL>month=completion_time.month,<EOL>day=completion_time.day,<EOL>hour=completion_time.hour,<EOL>minute=completion_time.minute,<EOL>second=completion_time.second,<EOL>microsecond=completion_time.microsecond)<EOL>
Gets the time of this assessment was completed.

        return: (osid.calendaring.DateTime) - the end time
        raise:  IllegalState - ``has_ended()`` is ``false``
        *compliance: mandatory -- This method must be implemented.*