code: def set_time_index_from_datetime(self, value, best_fit=True):
          
  
          steps = self.variable.time_stops
          if value in steps:
              self.time_index = steps.index(value)
          elif best_fit:
              self.time_index = utils.best_fit(steps, value)
          else:
              raise ValueError("Invalid date")
docs: Sets the time_index parameter from a datetime using start/end/interval/units information from the service
          configuration. If best_fit is True, the method will match the closest time index for the given value, otherwise
          it will raise a ValueError for any value which doesn't exactly match a time index.