def parse_relative_time(time, in_ms = false)
      unless valid_relative_time?(time)
        raise Wavefront::Exception::InvalidRelativeTime
      end

      m = in_ms ? 1000 : 1
      time.delete!('+')
      match = time.match(/^(-?\d*\.?\d*)([smhdwy])$/)
      (match[1].to_f * time_multiplier(match[2]) * m).to_i
    end
def parse_relative_time(time, in_ms = false)
      unless valid_relative_time?(time)
        raise Wavefront::Exception::InvalidRelativeTime
      end

      m = in_ms ? 1000 : 1
      time.delete!('+')
      match = time.match(/^(-?\d*\.?\d*)([smhdwy])$/)
      (match[1].to_f * time_multiplier(match[2]) * m).to_i
    end
Do the real work for #relative_time
 @param time [String] as +1h, -3d etc
 @param in_ms [Bool] whether to return time differential in ms
   rather than s
 @return [Integer] time differential