Función php sacar fecha hace x tiempo
Hola, he puesto en los comentarios la fecha, y al poner la función para que me lo muestre "hace x tiempo" me pone "fecha incorrecta", como lo puedo corregir??
Gracias
Gracias
0
Puntos
Puntos
1261
Visitas
Visitas
2
Resp
Resp
Por borch hace 126 meses
Avanzado
Respuesta #1
eso te lo hace por que tienes la fecha base en 00.00.0000 por lo tanto es normal que te de un error por que esa fecha no existe, lo que tienes que hacer es un now() en la columna donde tienes las fechas timestramp por ejemplo:
$updateSQL = "UPDATE comentarios SET fecha=now()";
Respuesta #2
dejo por aquí la función completa por si alguien la necesita, la eh testado y funciona perfecto
function tiempo_transcurrido($fecha) { if(empty($fecha)) { return "No hay fecha"; } $intervalos = array("segundo", "minuto", "hora", "día", "semana", "mes", "año"); $duraciones = array("60","60","24","7","4.35","12"); $ahora = time(); $Fecha_Unix = strtotime($fecha); if(empty($Fecha_Unix)) { return "Fecha incorracta"; } if($ahora > $Fecha_Unix) { $diferencia =$ahora - $Fecha_Unix; $tiempo = "Hace"; } else { $diferencia = $Fecha_Unix -$ahora; $tiempo = "Dentro de"; } for($j = 0; $diferencia >= $duraciones[$j] && $j < count($duraciones)-1; $j++) { $diferencia /= $duraciones[$j]; } $diferencia = round($diferencia); if($diferencia != 1) { $intervalos[5].="e"; //MESES $intervalos[$j].= "s"; } return "$tiempo $diferencia $intervalos[$j]"; } // Ejemplos de uso // fecha en formato yyyy-mm-dd // echo tiempo_transcurrido('2010/02/05'); // fecha y hora // echo tiempo_transcurrido('2010/02/10 08:30:00');
0
Puntos
Puntos
Por alber hace 123 meses
Administrador