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;
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
Suerte.