Hola lo hice con strtotime pero no me dan las horas y de paso me la coloca en negativo, coloque el ciclo if en el caso de que hora de inicio sea mayor a la actual.
Código PHP:
list($horasin, $minutosin, $segundosin) = explode(":", $horainicio);
list($horas, $minutos, $segundos) = explode(":", $hora);
$tiempo_transcurrido1=floor(strtotime($horas)-strtotime($horasin));
$horat=floor($tiempo_transcurrido1/3600);
if ($horat < 0) {
$difh1= $horat + 24;
$hora = $difh1;
}
else {
$hora = $horat;
}