Con PHP, tienes las funciones mktime() y date() para realizar operaciones con fechas y horas. Por ejemplo, yo hago esto para restar fechas:
Código PHP:
$fechaIni = "2009-03-16 18:30:00";
$fechaFin = "2009-03-16 19:00:00";
// separo las partes de cada fecha
list($iniDia, $iniHora) = split(" ", $fechaIni);
list($anyo, $mes, $dia) = split("-", $iniDia);
list($hora, $min, $seg) = split(":", $iniHora);
$tiempoIni = mktime($hora + 0, $min + 0, $seg + 0, $mes + 0, $dia + 0, $anyo);
// hago lo mismo para obtener el $tiempoFin
list($finDia, $finHora) = split(" ", $fechaFin);
list($anyo, $mes, $dia) = split("-", $finDia);
list($hora, $min, $seg) = split(":", $finHora);
$tiempoFin = mktime($hora + 0, $min + 0, $seg + 0, $mes + 0, $dia + 0, $anyo);
// al restar los valores, obtenemos los SEGUNDOS de diferencia
$diferencia = $tiempoFin - $tiempoIni;
print "<br>Ini : ".$fechaIni;
print "<br>Fin : ".$fechaFin;
print "<br>Dif : ".$diferencia." segundos (".($diferencia / 60)." minutos)";