Foros del Web » Programando para Internet » PHP »

restar dos "timestamp"

Estas en el tema de restar dos "timestamp" en el foro de PHP en Foros del Web. Hola... De qué manera puedo restar dos 'timestamp', en la que uno se refiere a la fecha de acceso a un sistema y el otro ...
  #1 (permalink)  
Antiguo 31/05/2012, 02:16
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Pregunta restar dos "timestamp"

Hola...

De qué manera puedo restar dos 'timestamp', en la que uno se refiere a la fecha de acceso a un sistema y el otro la de "ahora ":

De la base de datos, extraigo la fecha de acceso:

$timestamp_sql = '1338450862';
$timestamp_ahora = '1338459120'

La última la genero automáticamente a través de:

Código PHP:
Ver original
  1. $date = date_create();
  2. $timestamp_ahora = date_timestamp_get($date);

Por su puesto si hago algo como:

Código PHP:
Ver original
  1. $resta = $timestamp_ahora - $timestamp_sql;

se genera un número incomprensible.

La idea es de tener el tiempo transcurrido entre las dos fechas en segundos. Como lo podría hacer?

Mil gracias!
__________________
Andrew :P
  #2 (permalink)  
Antiguo 31/05/2012, 02:55
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
De acuerdo Respuesta: restar dos "timestamp"

OK... Ya lo he podido hacer...

Directamente no se pueden comparar dos timestamp (no s" si estoy equivocado ?)... Por lo que tengo que cambiar su formato:

Código PHP:
Ver original
  1. // Cambio formato a la inicial
  2. $timestamp_inicial = date('Y-m-d H:i:s',$timestamp_session);
  3. // Cambio formato a la final, es decir, la actual
  4. $timestamp_final = date('Y-m-d H:i:s',$timestamp_ahora);
  5. // Y las resto:
  6. $tiempo_segundos = strtotime($timestamp_final) - strtotime($timestamp_inicial);

Voila!...

POST AUTO-RESUELTO
__________________
Andrew :P
  #3 (permalink)  
Antiguo 31/05/2012, 09:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: restar dos "timestamp"

Claro que sí es posible restarlos, tienes que usar time() precisamente para generar el timestamp, y te da el número de segundos.

Recuerda que un timestamp es precisamente el número de segundos desde el Unix Epoch, por lo que restando el timestamp más reciente al inicial te da el número de segundos.

Saludos.

Etiquetas: restar, sql
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 02:41.