Foros del Web » Programando para Internet » PHP »

Comprobar si ha pasado un minuto entre una fecha y la hora actual

Estas en el tema de Comprobar si ha pasado un minuto entre una fecha y la hora actual en el foro de PHP en Foros del Web. Pues eso, tengo unas fechas guardadas en datetime y quiero comprobar si a pasado o no más de un minuto entre la fecha guardada y ...
  #1 (permalink)  
Antiguo 03/04/2012, 01:20
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Comprobar si ha pasado un minuto entre una fecha y la hora actual

Pues eso, tengo unas fechas guardadas en datetime y quiero comprobar si a pasado o no más de un minuto entre la fecha guardada y la actual, algo del estilo:

Código PHP:
$diferencia $fecha_actual $fecha;
if(
$diferencia "0000-00-00 00:01:00"
Pero imagino que de esta forma no es posible ¿Alguna sugerencia?


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332

Última edición por bichomen; 03/04/2012 a las 01:39
  #2 (permalink)  
Antiguo 03/04/2012, 01:48
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

Para tu caso la función TIMEDIFF() devuelve la diferencia entre el primer parámetro y el segundo, que evidentemente son de tipo datetime, por ejemplo. Mas que necesario para tu casa.

De seguro esto te podrá ayudar:

Documentación: http://dev.mysql.com/doc/refman/5.5/...ction_timediff

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.
  #3 (permalink)  
Antiguo 03/04/2012, 03:29
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

Si, con con la función timediff obtengo la diferencia en horas entre dos fechas
Y con la función now() la fecha actual en e formato datetime

Código PHP:
$sql "select timediff(now(),'".$fecha_final."') AS diferencia"
¿Pero ahora necesito averiguar si echa fecha obtenida supera o no el minuto?


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #4 (permalink)  
Antiguo 03/04/2012, 04:57
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

Si pruebo esto:

Código PHP:
if($diferencia <= 1
Me compara una hora, pero yo quiero que compare un minuto.


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #5 (permalink)  
Antiguo 03/04/2012, 05:09
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

es timestampdiff
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #6 (permalink)  
Antiguo 03/04/2012, 05:32
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

Ok, gracias, e tenido que invertir las fechas porque me daba un valor negativo:

Código PHP:
"select timestampdiff(minute,'".$fecha_final."',now()) AS diferencia";
if(
$diferencia <= 1

bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #7 (permalink)  
Antiguo 04/04/2012, 03:58
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

HE intentado aplicar esta consulta, pero ahora con 2 fechas datetime:

Código PHP:
"select timestampdiff(minute,'".$fecha_final."','".$fecha_inicial."') AS diferencia";
if(
$diferencia <= 1

y me devuelve 0, si hago:

Código PHP:
select timediff('".$fecha_inicial."','".$fecha_final."') as diferencia 
me devuelve la diferencia en formato time, pero yo quiero otra vez obtener la diferencia de los minutos.


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #8 (permalink)  
Antiguo 05/04/2012, 04:09
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

Bueno encontre la solución, por si alguien le interesa, aqui lo dejo:

Código PHP:
select timediff('".$fecha_inicial."','".$fecha_final."') as diferencia;
select minute('".$diferencia."'); 

bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #9 (permalink)  
Antiguo 05/04/2012, 04:42
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

algo has de estar haciendo mal. en principio debería de retornar 0 o un valor negativo. puedes dejarnos la consulta junto con los valores de las variables??
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #10 (permalink)  
Antiguo 05/04/2012, 05:13
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

No, si utilizo timestampdiff devuelve 0 o un valor negativo, como bien dices me si uso timediff devuelve en formato time (00:03:27), recupero el valor y se lo paso a la otra consulta --->> Select minute('00:03:27'); esto lo que hace es coger del time los minutos y devuelve 27, por poner un ejemplo.


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #11 (permalink)  
Antiguo 05/04/2012, 05:21
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

el problema puede estar aquí
Cita:
"select timestampdiff(minute,'".$fecha_final."','".$fecha_inicial."') AS diferencia";
cuando debería de ser
Cita:
"select timestampdiff(minute,'".$fecha_inicial."','".$fecha_final."') AS diferencia";
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #12 (permalink)  
Antiguo 05/04/2012, 06:12
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

Si hago:

Código PHP:
SELECT timestampdiff(
MINUTE '2012-04-05 11:00:03''2012-04-05 12:12:09' ) AS diferencia
devuelve 72

En cambio si hago:

Código PHP:
SELECT timestampdiff(
MINUTE '2012-04-05 12:12:09''2012-04-05 11:00:03' ) AS diferencia
devuelve -72

Cuando en realidad debería devolver: 01:12:06 ---> 12

Que es lo que devuelve al hacer:

Código PHP:
SELECT minute'01:12:06' ) AS diferencia
Lo suyo seria coger las dos consultas que comente antes y convertirlas en una.


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #13 (permalink)  
Antiguo 05/04/2012, 06:46
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

es justamente lo que te comentaba
Cita:
SELECT timestampdiff(MINUTE , '2012-04-05 11:00:03', '2012-04-05 12:12:09' ) AS diferencia;
es
Cita:
select timestampdiff(minute,'".$fecha_inicial."','".$fech a_final."') AS diferencia
en ambos caso retorna 72 minutos por que la diferencia es de 1:12:06
Cita:
1 ---> 60 minutos + 12 minutos = 72 minutos
ahora tu dices que debería retornar 12 minutos, lo cual es imposible por la diferencia es de 72 minutos

para resumir, no te entiendo. aunque tendrá su porqué
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #14 (permalink)  
Antiguo 18/04/2012, 02:44
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

Tienes razón con lo de 72 minutos pero mira, hay un problema, cuando le paso los atributos donde están guardadas las fechas en la base de datos devuelve esto:



En cambio si pongo las fechas a mano, devuelve esto otro:




Y no entiendo por que, porque las fechas las pillo de la base de datos


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #15 (permalink)  
Antiguo 18/04/2012, 13:49
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

dónde está la clausula from??
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #16 (permalink)  
Antiguo 18/04/2012, 15:29
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

Da igual, el problema no esta en el from, la consulta la estaba haciendo dentro de la tabla con phpmyadmin, que hace que la consulta asuma la tabla implícitamente:




bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #17 (permalink)  
Antiguo 18/04/2012, 16:06
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

si dices que lo asume, así será. mi versión phpmyadmin (3.2.2.1) no


verifica que el tipo de los dos campos es datetime
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #18 (permalink)  
Antiguo 27/04/2012, 05:06
Avatar de bichomen  
Fecha de Ingreso: junio-2003
Ubicación: Barcelona y alrededores, España
Mensajes: 877
Antigüedad: 20 años, 10 meses
Puntos: 2
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

Ok ya esta solucionado, era un problema de conceptos y que me lié un poco, muchas gracias


bichomen
__________________
"Se sabe con exactitud, con cuanta imprecisión, se sabe algo"
Linux Registered User #320332
  #19 (permalink)  
Antiguo 27/04/2012, 06:02
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Comprobar si ha pasado un minuto entre una fecha y la hora actual

Por si todavia renegas, o el que llego al post y necesita una solucion:

Código PHP:
$fecha_1 strtotime("Y-m-d H:i:s"); // tiene que ser este formato.
$fecha_2 strtotime("Y-m-d H:i:s"); // tiene que ser este formato.
$diferencia $fecha_1-$fecha_2// Diferencia en segundos. 
//Para minutos, horas, dias, mes, año. Dividir como nos enseñaron en el colegio XD. 
__________________
Mono programando!
twitter.com/eguimariano

Etiquetas: actual, fecha
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:08.