No se si cuando tomas la "hora del sistema" te referia a la hora "client-side" o a la hora "server-side".
Yo asumí que es a la hora "client-side". Fijate si es esto lo que necesitas:
<?
$horadif="";
$otrahora="";
if(isset($_POST["otrahora"]))
$otrahora=$_POST["otrahora"];
$horacliente="";
if(isset($_POST["horacliente"])){
$horacliente=$_POST["horacliente"];
//Convertir tus fechas a valores numericos:
$time1 = split(":", $horacliente);
$time2 = split(":", $otrahora);
$t1 = mktime($time1[0],$time1[1],$time1[2]);
$t2 = mktime($time2[0],$time2[1],$time2[2]);
if($t1>$t2)
die("Error, La fecha cliente debe ser mayor a la otra fecha");
//Obtener la diferencia de ambos valores:
$dif = $t2-$t1;
//Obtener las horas, minutos y segundos a partir de la diferencia:
$horas = intval($dif / 3600);
$min = intval(($dif-$horas*3600)/60);
$seg = $dif-$horas*3600-$min*60;
$horadif="$horas:$min:$seg";
}
?>
<script>
function fijarHoracliente(){
var ya=new Date();
var hora=ya.getHours()+":"+ya.getMinutes()+":"+ya.getSeconds();
document.forms[0].horacliente.value=hora}
</script>
<body onload="fijarHoracliente()">
<form method="POST">
<?
echo "
Hora Cliente: <input type=\"text\" name=\"horacliente\" size=8 value=\"$horacliente\"> (h:m:s)<br>
Otra Hora: <input type=\"text\" name=\"otrahora\" size=8 value=\"$otrahora\"> (h:m:s)<br>
Diferencia: <input type=\"text\" name=\"horadif\" size=10 value=\"$horadif\"> (h:m:s)<br>
<input type=\"submit\" value=\"Calcular diferencia\">";
?>
</form>
</body>
Espero te sirva