Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/02/2007, 18:36
Avatar de david_M_G
david_M_G
 
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Re: Como calculo esto?

La fecha actual se consigue con la función time()

Código PHP:
$fecha_final time(); 
Y la fecha inicial la coges de la base de datos...

Código PHP:
$fecha_inicial $fila['fecha_inicial']; 
Como esta fecha está escrita en formato YYYY-mm-dd HH:ss, es decir, 2005-02-01 10:00, interesa pasarlo a "tiempo" para trabajar con ello. (Se trabaja con tiempo UNIX, busca sobre ello para más información.)

Esto se consigue con la función strtotime() (string to time)

Código PHP:
$fecha_inicial strtotime($fecha_inicial); 
Ahora que ya tenemos las dos fechas (final e inicial) en tiempo UNIX (segundos transcurridos desde 1 de Enero de 1970) podemos hacer la resta, y obtener los segundos que diferencian uno de otro.

Código PHP:
$transcurrido $fecha_final $fecha_inicial
Ahora ya en la variable $transcurrido tienes el número de segundos que han pasado entre una fecha y la otra. Para pasarlo a minutos, horas, días, etc. ya sabes... divides por 60, por 24, o el cálculo necesario.

Todo junto:
Código PHP:
//Fecha final, se calcula la ACTUAL con time()
$fecha_final time();

//Conectas a la base de datos y haces todo lo q corresponda para extraer el dato
$fecha_inicial $fila['fecha_inicial'];

//Pasas la fecha a tiempo UNIX
$fecha_inicial strtotime($fecha_inicial);

//Segundos entre una fecha y otra
$transcurrido $fecha_final $fecha_inicial;

//Y por si quieres ponerlo en UNO de estos tiempos...
$minutos_transcurridos $transcurrido/60;
$horas_transcurridas $minutos_transcurridos/60;
$dias_transcurridos $horas_transcurridas/24
Suerte.