code: def finite_datetimes(self, finite_start, finite_stop):
          
          datehour_start = datetime(finite_start.year, finite_start.month, finite_start.day, finite_start.hour)
          datehours = []
          for i in itertools.count():
              t = datehour_start + timedelta(hours=i)
              if t >= finite_stop:
                  return datehours
              if t >= finite_start:
                  datehours.append(t)
docs: Simply returns the points in time that correspond to whole hours.