code: def time_stops(self):
          if not self.supports_time:
              return []
          if self.service.calendar == 'standard':
              units = self.service.time_interval_units
              interval = self.service.time_interval
              steps = [self.time_start]
              if units in ('years', 'decades', 'centuries'):
                  if units == 'years':
                      years = interval
                  elif units == 'decades':
                      years = 10 * interval
                  else:
                      years = 100 * interval
                  next_value = lambda x: x.replace(year=x.year + years)
              elif units == 'months':
                  def _fn(x):
                      year = x.year + (x.month+interval-1) // 12
                      month = (x.month+interval) % 12 or 12
                      day = min(x.day, calendar.monthrange(year, month)[1])
                      return x.replace(year=year, month=month, day=day)
                  next_value = _fn
              else:
                  if units == 'milliseconds':
                      delta = timedelta(milliseconds=interval)
                  elif units == 'seconds':
                      delta = timedelta(seconds=interval)
                  elif units == 'minutes':
                      delta = timedelta(minutes=interval)
                  elif units == 'hours':
                      delta = timedelta(hours=interval)
                  elif units == 'days':
                      delta = timedelta(days=interval)
                  elif units == 'weeks':
                      delta = timedelta(weeks=interval)
                  else:
                      raise ValidationError(
                          "Service has an invalid time_interval_units: {}".format(self.service.time_interval_units)
                      )
                  next_value = lambda x: x + delta
              while steps[-1] < self.time_end:
                  value = next_value(steps[-1])
                  if value > self.time_end:
                      break
                  steps.append(value)
              return steps
          else:
              raise NotImplementedError