code: def get_dates(self, request):
          
          if DataSource.is_timeless(request.data_source):
              return [None]
  
          date_interval = parse_time_interval(request.time)
  
          LOGGER.debug('date_interval=%s', date_interval)
  
          if request.wfs_iterator is None:
              self.wfs_iterator = WebFeatureService(request.bbox, date_interval, data_source=request.data_source,
                                                    maxcc=request.maxcc, base_url=self.base_url,
                                                    instance_id=self.instance_id)
          else:
              self.wfs_iterator = request.wfs_iterator
  
          dates = sorted(set(self.wfs_iterator.get_dates()))
  
          if request.time is OgcConstants.LATEST:
              dates = dates[-1:]
          return OgcService._filter_dates(dates, request.time_difference)
docs: Get available Sentinel-2 acquisitions at least time_difference apart
  
          List of all available Sentinel-2 acquisitions for given bbox with max cloud coverage and the specified
          time interval. When a single time is specified the request will return that specific date, if it exists.
          If a time range is specified the result is a list of all scenes between the specified dates conforming to
          the cloud coverage criteria. Most recent acquisition being first in the list.
  
          When a time_difference threshold is set to a positive value, the function filters out all datetimes which
          are within the time difference. The oldest datetime is preserved, all others all deleted.
  
          :param request: OGC-type request
          :type request: WmsRequest or WcsRequest
          :return: List of dates of existing acquisitions for the given request
          :rtype: list(datetime.datetime) or [None]