Prova questa mia piccola funzioncina per contare giorni ore ecc.
codice:
$data_M = mktime(20,20,20, 10, 6, 2006); // data maggiore
$data_m = mktime(10,15,00, 10, 6, 2005); // data minore
function dateSubs($data_M, $data_m) {
$diff = $data_M - $data_m;
$giorni = floor($diff/(60*60*24));
$ore = floor(($diff - $giorni * 86400) / (60*60));
$minuti = ($diff / 60) % 60;
$p = "Giorni $giorni Ore $ore:$minuti:".($diff % 60);
return $p;
}
echo dateSubs($data_M, $data_m);
Due cose... la prima mktime non vuole lo zero davanti al valore (6-9-2006 e non 06-09-2006) perche' altrimenti lo scambia per ottale.
L'altra ... il risultato rende le ore:min:sec senza lo zero davanti, cioe' 12:0:0. Se ti serve l'ora in questo modo 12:00:00 formatta l'output con sprintf o number_format.