@abc.abstractmethod<EOL><INDENT>def get_time_periods_by_date(self, datetime):<DEDENT>
return<EOL>
Gets a ``TimePeriodList`` containing the given ``DateTime``.

        Time periods containing the given date are matched. In plenary
        mode, the returned list contains all of the time periods
        specified in the ``Id`` list, in the order of the list,
        including duplicates, or an error results if an ``Id`` in the
        supplied list is not found or inaccessible. Otherwise,
        inaccessible ``TimePeriods`` may be omitted from the list and
        may present the elements in any order including returning a
        unique set.

        :param datetime: a date
        :type datetime: ``osid.calendaring.DateTime``
        :return: the returned ``TimePeriod`` list
        :rtype: ``osid.calendaring.TimePeriodList``
        :raise: ``NullArgument`` -- ``datetime`` is ``null``
        :raise: ``OperationFailed`` -- unable to complete request
        :raise: ``PermissionDenied`` -- authorization failure

        *compliance: mandatory -- This method must be implemented.*