modifique un poquito tu codigo por que salian numeros negativos...
Código PHP:
<?php
function hacecuanto($date1,$date2){
$s = strtotime($date1)-strtotime($date2);
$d = intval($s/86400);
$s -= $d*86400;
$h = intval($s/3600);
$s -= $h*3600;
$m = intval($s/60);
$s -= $m*60;
// convertir a positivo
if($d < 0){
$d=$d*-1;
}
if($h < 0){
$h=$h*-1;
}
if($m < 0){
$m=$m*-1;
}
if($s < 0){
$s=$s*-1;
}
// Solo mostrar si no es 0
if($d > 0){
$dias=$d." dias ";
}
if($h > 0){
$horas=$h."hs. ";
}
if($m > 0){
$minutos=$m."min. ";
}
if($s > 0){
$segundos=$s."seg.";
}
//si se envio hoy
if($d == 0){
$dias=" HOY hace ";
}
$diferencia=$dias."(".$horas.$minutos.$segundos.")";
return $diferencia;
}
?>
Enviado: <?php echo hacecuanto("2008-06-12 04:28:48","2008-06-13 06:22:43"); ?>