Restar dos duraciones HMS
Reste una duración en horas, minutos y segundos de otra sin convertir los valores manualmente.
Ejecutar — gratis
Introduzca dos duraciones no negativas en formato HH:MM:SS; la calculadora resta la segunda de la primera, realiza préstamos entre segundos y minutos cuando es necesario y devuelve un resultado exacto con signo. Las horas no están limitadas a un reloj de 24 horas, por lo que sirve para proyectos, contenidos multimedia, entrenamientos y ciclos de máquinas. El cálculo depende únicamente de los dos valores que usted proporciona.
Introduzca duraciones transcurridas, no horas del día
Indique como primer valor la duración de la que desea restar y como segundo la duración que desea descontar. Cada entrada usa HH:MM:SS, con dos dígitos para minutos y segundos. Las horas pueden tener de uno a seis dígitos; por ello, 125:30:00 es válido aunque 125 no sea una hora del reloj. Los minutos y segundos deben estar entre 00 y 59, ya que la calculadora espera una entrada normalizada. Use 00 cuando una unidad esté vacía, por ejemplo 7:00:09 para siete horas y nueve segundos. Las entradas no pueden ser negativas: el signo corresponde al resultado calculado, no a las duraciones de origen. Así se evitan expresiones ambiguas con dos intervalos negativos. El orden matemático se conserva exactamente: primera duración menos segunda duración. Si ambas son iguales, el resultado es 00:00:00 y el signo es cero. Se ignoran los espacios exteriores, pero se rechazan palabras, decimales, fragmentos de fechas y sufijos AM o PM para que cada valor aceptado tenga un significado inequívoco.
Comprenda los préstamos y los resultados negativos
La resta HMS aplica el mismo método de préstamo que se utiliza en papel. Si los segundos disponibles son menores que los que se restan, un minuto se convierte en sesenta segundos adicionales. Después de resolver esa columna, si los minutos disponibles son menores que los minutos que se restan, una hora se convierte en sesenta minutos adicionales. La respuesta indica si ocurrió cada préstamo, lo que resulta útil para enseñar, auditar o mostrar una explicación. Cuando la segunda duración es mayor que la primera, la calculadora compara las longitudes completas, resta la magnitud menor de la mayor mediante las mismas reglas y antepone un signo menos a la diferencia normalizada. Nunca genera componentes incómodos como minutos negativos o 75 segundos. Por ejemplo, una diferencia negativa se representa como -02:04:09, sin mezclar horas negativas con unidades inferiores. El campo numérico de signo vale -1, 0 o 1, y total_seconds conserva la diferencia con signo para los programas que necesitan operar con ella.
Use el resultado normalizado con confianza
La respuesta incluye el texto HMS normalizado, el total de segundos con signo, el signo y los componentes absolutos de horas, minutos y segundos. Esta combinación permite mostrar el resultado a una persona y efectuar cálculos posteriores sin analizar prosa explicativa. Como los valores son duraciones, las horas no vuelven a cero al llegar a 24: 49:10:00 significa cuarenta y nueve horas transcurridas y diez minutos. El cálculo utiliza únicamente aritmética entera acotada. No consulta la fecha actual, zonas horarias, horario de verano, configuración regional, servicios de red ni modelos de lenguaje; por eso, entradas iguales siempre producen salidas iguales. Es adecuado para scripts de compilación, controles de partes de horas, pruebas, flujos multimedia e informes reproducibles. Compruebe el signo antes de interpretar la dirección: los componentes siempre son magnitudes no negativas. El uso en el navegador es gratuito y cada solicitud automatizada mediante API cuesta $0.002.
Qué puede hacer con ella
Comparar duraciones multimedia
Reste la duración editada de la original y vea la cantidad exacta añadida o eliminada con su signo.
Conciliar trabajo registrado
Calcule la diferencia entre dos tiempos de trabajo acumulados aunque cualquiera supere las 24 horas.
Comprobar tiempos de eventos
Compare duraciones previstas y medidas conservando los segundos y el detalle explícito de los préstamos.
Preguntas frecuentes
¿Cuánto cuesta una solicitud API?
Cada solicitud API cuesta $0.002. La calculadora del navegador es gratuita.
¿Puede ser negativo el resultado?
Sí. Si la segunda duración es mayor, el resultado normalizado empieza con un signo menos y el campo de signo vale -1.
¿Las horas pueden ser mayores que 23?
Sí. Se trata de duraciones transcurridas, no de horas del reloj, por lo que pueden ir de 0 a 999999.
¿Por qué los minutos y segundos deben ser menores que 60?
Las entradas ya deben usar notación HMS normalizada. Los préstamos se aplican durante la resta y la salida permanece normalizada.
¿Tiene en cuenta fechas u horario de verano?
No. Solo resta dos duraciones abstractas y nunca utiliza fechas, zonas horarias, transiciones estacionales ni la hora actual.
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/date/hms-subtract \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"first_duration":"12:05:10","second_duration":"03:47:55"}'const res = await fetch("https://api.kit.forhosting.com/date/hms-subtract", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"first_duration": "12:05:10",
"second_duration": "03:47:55"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/hms-subtract",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"first_duration": "12:05:10",
"second_duration": "03:47:55"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/hms-subtract", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"first_duration":"12:05:10","second_duration":"03:47:55"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"first_duration":"12:05:10","second_duration":"03:47:55"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/hms-subtract", 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
{
"first_duration": "12:05:10",
"second_duration": "03:47:55"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.hms_subtract",
"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.
Límites
max_hours | 999999 |
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. |