PHP: ¿Cómo puedo restar 2 fechas que se encuentran en campos de mi DB directamente con el MySQL?

De Foros del Web

Primero debemos asegurarnos que ambos campos son de tipo DATETIME.

Para el ejemplo, usaremos: Campo 1 = fecha_inicio; Campo 2 = fecha_fin; Tabla en la DB = nombre_tabla

La función a utilizar será TIME_TO_SEC.

EJ:

Código PHP:

$sql_tiempo="SELECT TIME_TO_SEC(fecha_fin)-TIME_TO_SEC(fecha_inicio) as tiempo_transcurrido FROM nombre_tabla";
 
$execute_sql=mysql_query($sql_tiempo);
 
$row=mysql_fetch_object($execute_sql);
$tiempo_capturado = $row->tiempo_transcurrido;
$tiempo_transcurrido = intval($tiempo_capturado/60)." min ".($tiempo_capturado%60)." sec";
 
echo $tiempo_transcurrido;  

El resultado a mostrar será: x min xx sec


--Jose-molina 29 Oct 2004

Este artículo es parte de las FAQs de PHP y el Manual de PHP.

Herramientas personales