class_docstr: A span of time between two ``datetime`` or ``adatetime`` objects.
      
docstr: :param start: a ``datetime`` or ``adatetime`` object representing the
      start of the time span.
  :param end: a ``datetime`` or ``adatetime`` object representing the
      end of the time span.
docstr_tok: [":","param","start",":","a","``","datetime","``","or","``","adatetime","``","object","representing","the","start","of","the","time","span",".",":","param","end",":","a","``","datetime","``","or","``","adatetime","``","object","representing","the","end","of","the","time","span","."]
code: def __init__(self, start, end):
      """
      :param start: a ``datetime`` or ``adatetime`` object representing the
          start of the time span.
      :param end: a ``datetime`` or ``adatetime`` object representing the
          end of the time span.
      """
  
      if not isinstance(start, (datetime, adatetime)):
          raise TimeError("%r is not a datetime object" % start)
      if not isinstance(end, (datetime, adatetime)):
          raise TimeError("%r is not a datetime object" % end)
  
      self.start = copy.copy(start)
      self.end = copy.copy(end)
  
imports: import calendar
  import copy
  from datetime import date, datetime, timedelta
  from whoosh.compat import iteritems
label_desc: Use image node_id 1 to create a new timespan object from inherited base classes: object with example: obj = timespan(start, end)