Obtener la diferencia entre 2 horas

Objetivo

Obtener la diferencia de horas entre 2 campos de tipo hora.

Ejemplo

Supongamos que queremos realizar un control de horas de los trabajadores. Tienen:

  • Hora entrada
  • Hora salida

Si un trabajador entra a las 10:00 y sale a las 18:30 nuestro cálculo nos devolverá 8’5 horas.

Imágen de ejemplo

diferencia horas 1


Fórmula

diferencia horas 2



Explicación

Restar horas directamente no se puede.. para operarar de una forma libre y completa, la idea está en obtener los milisegundos de cada fecha y operar a partir de estos datos.

1) Restar a los milisegundos de la hora de salida los milisegundos de la hora de entrada
Ahora tenemos la diferencia de milisegundos entre las horas, tenemos que pasar de milisegundos a horas

2) Dividimos entre 1000 (Pasar a segundos)
1000 milisegundos son un segundo, al dividir entre 1000 pasaremos los milisegundos a segundos

3) Dividimos entre 60 (Pasar a minutos)
60 segundos son un minuto, al dividir entre 60 pasaremos los segundos anteriores a minutos

4) Dividimos entre 60 (Pasar a horas)
60 minutos son una hora, al dividir entre 60 los minutos anteriores, obtendremos las horas equivalentes