Foros del Web » Programando para Internet » PHP »

date; Ayuda

Estas en el tema de date; Ayuda en el foro de PHP en Foros del Web. Hola, necesito ayuda en algo que no me sale en php. Resulta que tengo 1 fecha por ejemplo: 17/10/2009 15:00 (dd/mm/aaaa hh:mm), y necesito saber ...
  #1 (permalink)  
Antiguo 16/10/2009, 21:36
Avatar de MaTyS  
Fecha de Ingreso: enero-2009
Ubicación: Mar del Plata
Mensajes: 220
Antigüedad: 15 años, 3 meses
Puntos: 18
date; Ayuda

Hola, necesito ayuda en algo que no me sale en php.
Resulta que tengo 1 fecha por ejemplo: 17/10/2009 15:00 (dd/mm/aaaa hh:mm), y necesito saber cuanto tiempo paso desde esa fecha hasta ahora (now).
Bueno ademas de eso quiero que lo diga de esta manera
Hace 1 minuto
Hace 2 minutos (o mas de dos)
Hace 1 hora
Hace 2 horas (o mas de dos)
Hace 1 día
Hace 2 días (o mas de dos)
Hace 1 mes
Hace 2 meses (o mas de dos)
Hace 1 año
Hace 2 años (o mas de dos)

Ya se que ustedes no están para hacerme todas las cosas, pero esto lo necesito porque no se me ocurre manera de hacerlo :S.
Al que me pueda ayudar se lo agradecería.
Saludos :D
  #2 (permalink)  
Antiguo 17/10/2009, 00:08
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Respuesta: date; Ayuda

creo que podrias usar esto

Código:
//$target_date seria tu fecha vs fecha actual usa los meses y dias sin doble digito

// mktime(hour, minute, second, month(con cero), day, year)
	$target_date = mktime($horas_inicio,$min_inicio,$seg_inicio, $mes_actual, $dia_actual, $ano_actual);
	//------------------------------------
	//$today_date = time();
	$today_date = mktime($hr_actual,$min_actual,$seg_actual, $mes_actual, $dia_actual, $ano_actual);
	$secs_left = $target_date - $today_date;


//1 day is 86400 seconds (60 * 60 * 24) dias
		$days_left = floor($secs_left / 86400);		
		//----------------------------
		//1 hour is 3600 seconds (60 * 60) horas
		$hrs_left = floor(($secs_left - $days_left * 86400) / 3600);		
		//----------------------------
		//1 minute is 60 seconds (duh…)
		$mins_left = floor(($secs_left - ($days_left * 86400) - ($hrs_left * 3600)) / 60);		
		//----------------------------
		$secs_left = $secs_left - ($days_left * 86400) - ($hrs_left * 3600) - ($mins_left * 60);

saludos
__________________
gerardo
  #3 (permalink)  
Antiguo 17/10/2009, 00:20
Avatar de MaTyS  
Fecha de Ingreso: enero-2009
Ubicación: Mar del Plata
Mensajes: 220
Antigüedad: 15 años, 3 meses
Puntos: 18
Respuesta: date; Ayuda

Voy a probarlo, se agradece de ante mano :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:05.