Qué hace esta calculadora
Esta herramienta te dice exactamente qué hora marcaba el reloj un número concreto de horas antes de una hora de referencia. Introduce la hora y los minutos actuales, escribe cuántas horas quieres retroceder y obtendrás la hora pasada en formato de 24 horas y de 12 horas (a. m./p. m.), además de cuántos días antes cae el resultado si la resta cruza la medianoche.
Cómo usarla
1. Introduce la hora actual (0–23) y los minutos (0–59). 2. Indica cuántas horas quieres retroceder; se admiten decimales como 1,5 o 2,25 (un cuarto de hora = 0,25). 3. Consulta el resultado: el titular muestra HH:MM y las filas de detalle indican la hora en formato de 24 horas, los minutos y el número de días que retrocede.
La fórmula explicada
La hora actual se convierte en segundos desde la medianoche: $$\text{segundosActuales} = \text{hora} \times 3600 + \text{minuto} \times 60$$ Restamos los segundos transcurridos (\(\text{horasAtras} \times 3600\)) y aplicamos el módulo 86400 (el número de segundos que tiene un día). Como la resta directa puede ser negativa, sumamos 86400 y volvemos a aplicar el módulo para que el resultado sea siempre una hora válida entre las 00:00 y las 23:59. Si dividimos la diferencia bruta entre 86400 y tomamos la parte entera, sabremos cuántos días completos retrocede la hora.
$$\text{Past Time} = \left[\left(\text{Hour} \times 3600 + \text{Minute} \times 60\right) - \text{Hours Ago} \times 3600 \right] \bmod 86400$$
$$\begin{gathered} t = \Big[\,S - \text{Hours Ago} \times 3600\,\Big] \bmod 86400 \\[1.5em] \text{where}\quad \left\{ \begin{aligned} S &= \text{Hour} \times 3600 + \text{Minute} \times 60 \\ \text{Past Hour} &= \left\lfloor t / 3600 \right\rfloor \\ \text{Past Minute} &= \left\lfloor (t \bmod 3600) / 60 \right\rfloor \end{aligned} \right. \end{gathered}$$
Ejemplo resuelto
Son las 2:00 (02:00) y quieres saber qué hora era hace 5 horas. \(\text{segundosActuales} = 2 \times 3600 = 7200\). \(\text{segundosAtras} = 5 \times 3600 = 18000\). \(\text{Bruto} = 7200 - 18000 = -10800\). Ajustado: $$(-10800 \bmod 86400 + 86400) \bmod 86400 = 75600 \text{ segundos} = 21{:}00 \text{ (9:00 p. m.)}$$ un día antes.
Preguntas frecuentes
¿Puedo restar más de 24 horas? Sí. La fila «días antes» indica cuántos días completos retrocede el resultado.
¿Usa mi hora actual real? No: tú escribes la hora de referencia, así que el resultado es reproducible y no depende de la zona horaria.
¿Puedo usar fracciones de hora? Sí, utiliza decimales como 0,5 para 30 minutos o 0,25 para 15 minutos.