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 original
function 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){ 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!