Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

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
0
Puntos
1261
Visitas
2
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()";
0
Puntos
Por zeuskx hace 126 meses
Administrador Sitio web
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
Por alber hace 123 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate