Si los datos los tienes en base de datos, es más sencillo hacerlo en la consulta.
Si lo quieres hacer exclusivamente en PHP, te recomiendo que leas este articulo de
DesarrolloWeb, que te puede resultar muy orientador.
También te puede ser útil este:
Cálculo de diferencia de horas.
En esencia, nada que no se pueda encontrar con Google...