docs: def validate_time(self, duration=False):
          """ Validate filter condition (template method) for timestamps and durations.
          """
          super(TimeFilter, self).validate()
          timestamp = now = time.time()
  
          if str(self._value).isdigit():
              # Literal UNIX timestamp
              try:
                  timestamp = float(self._value)
              except (ValueError, TypeError), exc:
                  raise FilterError("Bad timestamp value %r in %r (%s)" % (self._value, self._condition, exc))
          else:
              # Something human readable
              delta = self.TIMEDELTA_RE.match(self._value)
              ##print self.TIMEDELTA_RE.pattern
              if delta:
                  # Time delta
                  for unit, val in delta.groupdict().items():
                      if val:
                          timestamp = self.TIMEDELTA_UNITS[unit](timestamp, int(val, 10))
  
                  if duration:
                      timestamp = now - timestamp
                  else:
                      # Invert logic for time deltas (+ = older; - = within the delta range)
                      if self._cmp == operator.lt:
                          self._cmp = operator.gt
                          self._rt_cmp = 'greater'
                      elif self._cmp == operator.gt:
                          self._cmp = operator.lt
                          self._rt_cmp = 'less'
              else:
                  # Assume it's an absolute date
                  if '/' in self._value:
                      # U.S.
                      dtfmt = "%m/%d/%Y"
                  elif '.' in self._value:
                      # European
                      dtfmt = "%d.%m.%Y"
                  else:
                      # Fall back to ISO
                      dtfmt = "%Y-%m-%d"
  
                  val = str(self._value).upper().replace(' ', 'T')
                  if 'T' in val:
                      # Time also given
                      dtfmt += "T%H:%M:%S"[:3+3*val.count(':')]
  
                  try:
                      timestamp = time.mktime(time.strptime(val, dtfmt))
                  except (ValueError), exc:
                      raise FilterError("Bad timestamp value %r in %r (%s)" % (self._value, self._condition, exc))
  
                  if duration:
                      timestamp -= now
  
          self._value = timestamp