Une conversion assez stupide du haut de ma tête, en utilisant éclater par deux-points :
<?php
$hms = "2:12:0";
$decimalHours = decimalHours($hms);
function decimalHours($time)
{
$hms = explode(":", $time);
return ($hms[0] + ($hms[1]/60) + ($hms[2]/3600));
}
echo $decimalHours;
?>