code: def daylight(self, date=None, local=True, use_elevation=True):
          
  
          if local and self.timezone is None:
              raise ValueError("Local time requested but Location has no timezone set.")
  
          if self.astral is None:
              self.astral = Astral()
  
          if date is None:
              date = datetime.date.today()
  
          elevation = self.elevation if use_elevation else 0
          start, end = self.astral.daylight_utc(date, self.latitude, self.longitude, observer_elevation=elevation)
  
          if local:
              return start.astimezone(self.tz), end.astimezone(self.tz)
          else:
              return start, end
docs: Calculates the daylight time (the time between sunrise and sunset)
  
          :param date: The date for which to calculate daylight.
                       If no date is specified then the current date will be used.
          :type date:  :class:`~datetime.date`
  
          :param local: True  = Time to be returned in location's time zone;
                        False = Time to be returned in UTC.
                        If not specified then the time will be returned in local time
          :type local:  bool
  
          :param use_elevation: True  = Return times that allow for the location's elevation;
                                False = Return times that don't use elevation.
                                If not specified then times will take elevation into account.
          :type use_elevation:  bool
  
          :returns: A tuple containing the start and end times
          :rtype: tuple(:class:`~datetime.datetime`, :class:`~datetime.datetime`)