Tiempo hasta la sobriedad
Esta calculadora estima cuánto puede tardar una concentración actual de alcohol en sangre en llegar a cero cuando el organismo elimina alcohol a una tasa horaria constante.
Ejecutar — gratis
Introduzca el BAC como porcentaje, por ejemplo 0.08 para 0.08%, y una tasa en puntos porcentuales por hora. El resultado es una estimación matemática: no demuestra que usted pueda conducir, trabajar, cuidar a otras personas, tomar medicamentos ni realizar actividades de riesgo. El metabolismo varía, las mediciones pueden ser inexactas y la absorción de alcohol puede continuar.
Introduzca la concentración y la tasa en unidades compatibles
Utilice el BAC actual expresado como porcentaje. Por ejemplo, una lectura escrita habitualmente como 0.08% se introduce como 0.08, no como 8 ni como 0.0008. Indique la tasa de eliminación en puntos porcentuales por hora siguiendo la misma convención; 0.015 significa que el modelo resta 0.015 puntos porcentuales de BAC cada hora. Las unidades deben coincidir porque el cálculo divide la concentración entre la tasa. Un error de unidad puede multiplicar o dividir el resultado por cien sin que este deje de parecer válido. La calculadora exige dos números finitos, admite una concentración actual de cero y requiere una tasa mayor que cero. Rechaza datos ausentes, texto, concentraciones negativas, tasas nulas y valores no finitos mediante un error claro. Si el BAC ya es cero, el tiempo restante estimado es cero. Use una tasa respaldada por el método de medición o la orientación que usted siga; no considere una tasa genérica como una característica biológica personal. La herramienta no deduce la tasa a partir del peso, sexo, alimentos, bebidas o síntomas.
Comprenda la estimación lineal
El algoritmo aplica una ecuación transparente: las horas hasta cero equivalen al porcentaje de BAC actual dividido entre la tasa de eliminación en puntos porcentuales por hora. Por tanto, un BAC de 0.08 y una tasa de 0.015 producen aproximadamente 5.333333 horas. La respuesta también separa la estimación redondeada en horas completas y minutos restantes para facilitar la lectura, y conserva las horas con seis decimales para automatización. El cálculo es determinista: las mismas entradas numéricas siempre generan la misma salida, sin solicitudes de red, valores aleatorios, reloj, perfil almacenado ni ajustes ocultos. El modelo supone que la eliminación ya comenzó, mantiene una tasa constante y continúa hasta alcanzar cero. La fisiología real es más compleja: el BAC puede seguir subiendo después de la última bebida, las tasas cambian entre personas y momentos, los dispositivos domésticos tienen incertidumbre y contar bebidas no equivale a medir. Interprete el resultado como aritmética bajo supuestos declarados, no como predicción clínica, determinación legal ni garantía de sobriedad.
Utilice el resultado con prudencia
Considere la cifra como información para planificar y añada un margen de seguridad adecuado; no programe una actividad peligrosa para el minuto exacto calculado. Sentirse alerta no demuestra que el BAC sea cero, y el café, la comida, una ducha, el ejercicio o dormir no aceleran la ecuación. Solo el paso del tiempo reduce la concentración modelada. Si se plantea conducir o manejar maquinaria, elija una persona sobria, taxi, transporte público u otra alternativa segura en vez de confiar en este resultado. Ante una emergencia, o si alguien no despierta fácilmente, respira despacio o de manera irregular, vomita repetidamente, está confuso, convulsiona o presenta piel pálida o azulada, llame de inmediato a los servicios de emergencia locales y no espere a una calculadora. En software, guarde las entradas originales junto con la salida para que se vean la tasa y las unidades asumidas. La API cuesta $0.002 por solicitud y devuelve campos estructurados para formularios, hojas de cálculo o herramientas internas. Todo el cálculo es local, analítico y no contiene variación aleatoria.
Qué puede hacer con ella
Planificar un regreso seguro
Estime un periodo mínimo de espera a partir de un BAC medido y elija después un transporte que no dependa de que la cifra sea exacta.
Explicar un modelo lineal de BAC
Muestre a estudiantes o participantes cómo dividir una concentración entre una tasa horaria produce una duración estimada.
Añadir planificación determinista a una aplicación
Obtenga horas y minutos estructurados y constantes sin depender de red, perfiles, reloj ni supuestos aleatorios.
Preguntas frecuentes
¿Indica cuándo puedo conducir con seguridad?
No. Es un cálculo simplificado y no determina seguridad al volante ni sobriedad legal. Elija una alternativa segura y respete la legislación local.
¿Qué unidades debo introducir?
Introduzca el BAC como porcentaje, por ejemplo 0.08 para 0.08%, y la tasa en puntos porcentuales por hora, por ejemplo 0.015.
¿Qué fórmula se utiliza?
Las horas hasta cero son el porcentaje de BAC actual dividido entre la tasa de eliminación en puntos porcentuales por hora.
¿El café o dormir reducen el tiempo calculado?
No. El modelo solo utiliza el BAC y la tasa indicada; no atribuye efectos al café, comida, duchas, ejercicio ni sueño.
¿Cuánto cuesta la API?
Cada solicitud a la API cuesta $0.002. El cálculo también está diseñado para ejecutarse localmente sin servicios de datos externos.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/health/time-to-sober \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"current_bac_percent":0.08,"elimination_rate_percent_per_hour":0.015}'const res = await fetch("https://api.kit.forhosting.com/health/time-to-sober", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"current_bac_percent": 0.08,
"elimination_rate_percent_per_hour": 0.015
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/time-to-sober",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"current_bac_percent": 0.08,
"elimination_rate_percent_per_hour": 0.015
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/time-to-sober", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"current_bac_percent":0.08,"elimination_rate_percent_per_hour":0.015}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"current_bac_percent":0.08,"elimination_rate_percent_per_hour":0.015}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/time-to-sober", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"current_bac_percent": 0.08,
"elimination_rate_percent_per_hour": 0.015
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.time_to_sober",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |