Buenas,
Estoy haciendo una función similar a la que utiliza facebook que te dice cuanto tiempo ha pasado desde que se puso un comentario, por ej.
Y tengo problemas cuando las horas son del estilo
hora comentario = 22:00
hora actual = 1:30
La diferencia debería ser de 3 horas y 30 min. Sin embargo me aparece
Hace -1230 minutos xD
Código PHP:
Ver originalfunction calcular_tiempo_trasnc($hora1,$hora2){
// HORA1 = HORA ACTUAL
// HORA2 = OTRA HORA
// Transformo las hora 0:00 en las 24:00
if ($separar[1][0]==0) $separar[1][0]=24;
if ($separar[2][0]==0) $separar[2][0]=24;
$total_minutos_trasncurridos[1] = ($separar[1][0]*60)+$separar[1][1];
$total_minutos_trasncurridos[2] = ($separar[2][0]*60)+$separar[2][1];
$total_minutos_trasncurridos = $total_minutos_trasncurridos[1]-$total_minutos_trasncurridos[2];
if(($total_minutos_trasncurridos<=59) and ($total_minutos_trasncurridos>=0))
return('Hace '.$total_minutos_trasncurridos.' minutos');
elseif ($total_minutos_trasncurridos<0)
return('Hace '.$total_minutos_trasncurridos.' minutos');
elseif($total_minutos_trasncurridos>59){
$HORA_TRANSCURRIDA = round($total_minutos_trasncurridos/60);
if($HORA_TRANSCURRIDA==1) $texthora='hora';
else $texthora='horas';
$MINUITOS_TRANSCURRIDOS = $total_minutos_trasncurridos%60;
return ('Hace '.$HORA_TRANSCURRIDA." $texthora y ".$MINUITOS_TRANSCURRIDOS.' minutos');
}
}
//llamamos la función e imprimimos
echo "<br/>";
echo "<br/>";
echo calcular_tiempo_trasnc('22:29','22:20'); // Hace 9 minutos
echo "<br/>";
echo calcular_tiempo_trasnc('23:34','22:20'); // Hace 1 hora y 14 minutos
echo "<br/>";
echo calcular_tiempo_trasnc('1:30','22:00'); // Hace -1230 minutos
echo "<br/>";
¿Qué modificaríais?
Muchas gracias de antemano!