Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

diferencia de fechas php

Estas en el tema de diferencia de fechas php en el foro de Mysql en Foros del Web. Buenas: quisiera saber como puedo obtener la diferencia de dias entre una fecha que saque de mi base de datos y la fecha actual. os ...
  #1 (permalink)  
Antiguo 21/05/2009, 06:20
 
Fecha de Ingreso: noviembre-2005
Mensajes: 44
Antigüedad: 18 años, 5 meses
Puntos: 0
diferencia de fechas php

Buenas:

quisiera saber como puedo obtener la diferencia de dias entre una fecha que saque de mi base de datos y la fecha actual.
os expongo el caso;
Tengo una pagina de un grupo musical donde quiero que unicamente se muestren los conciertos que que quedan por dar desde la fecha actual.
es decir; que no se muestren los que ya han pasado , si no los futuros pendientes.

la sql seria "SELECT * FROM Conciertos WHERE fecha > fecha actual ORDER BY fecha_es asc"

pero no se como hacer la comparacion.
podriais ayudarme? gracias.
  #2 (permalink)  
Antiguo 21/05/2009, 06:52
 
Fecha de Ingreso: diciembre-2003
Ubicación: Santa Fe - Argentina
Mensajes: 35
Antigüedad: 20 años, 4 meses
Puntos: 0
Respuesta: diferencia de fechas php

Hola Joshenema, te aconsejo que mires este link:
http://dev.mysql.com/doc/refman/5.1/...nction_adddate

Hay varias funciones que podes usar, a mi me ayudó mucho.
Saludos
Analía
  #3 (permalink)  
Antiguo 21/05/2009, 08:33
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: diferencia de fechas php

Si tu campo fecha es tipo DATE o DATETIME, puedes comparar usando NOW().

SELECT * FROM campo WHERE fecha > NOW()
  #4 (permalink)  
Antiguo 21/05/2009, 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: diferencia de fechas php

Tema trasladado desde PHP
  #5 (permalink)  
Antiguo 21/05/2009, 10:43
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: diferencia de fechas php

Si es una diferencia de días, puedes usar esto:

Código sql:
Ver original
  1. SELECT campo1, campo2, fecha, DATEDIFF(fecha,curdate()) faltandias FROM nombretabla WHERE DATEDIFF(fecha,curdate()) > 1 ORDER BY faltandias
  #6 (permalink)  
Antiguo 21/05/2009, 14:26
 
Fecha de Ingreso: noviembre-2005
Mensajes: 44
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: diferencia de fechas php

Gracias a todos por las respuestas, pero no he conseguido nada. Llevo 2 dias aprendiendo php por mi cuenta y estoy algo verde (de momento he conseguido hacer un gestor de noticias y conciertos donde insertar datos, modificar, y eliminar, que para el tiempo que llevo no es poco...jajaja).

El tipo del campo "fecha" es VARCHAR con el formato dd/mm/aaaa .

La sentencia SELECT campo1, campo2, fecha, DATEDIFF(fecha,curdate()) faltandias FROM nombretabla WHERE DATEDIFF(fecha,curdate()) > 1 ORDER BY faltandias no la entiendo muy bien, no se a que se refiere el parametro faltandias de donde sale o que funcion tiene, he probado poniendo "SELECT * FROM Conciertos WHERE DATEDIFF(fecha,curdate()) > 1 ORDER BY fecha" pero no se si le faltara algo o fallara algo que no me hace bien la comparacion.

MIl gracias
  #7 (permalink)  
Antiguo 22/05/2009, 00:59
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: diferencia de fechas php

En caso de escribir la fecha en el campo varchar así 01/08/2009, prueba esta consulta
Código sql:
Ver original
  1. SELECT campo1, campo2, fecha, DATEDIFF(STR_TO_DATE(fecha,'%d/%m/%Y'),curdate()) faltandias
  2.   FROM Conciertos WHERE DATEDIFF(STR_TO_DATE(fecha,'%d/%m/%Y'),curdate()) >= 1 ORDER BY faltandias
faltandias no es un campo sino un alias para el resultado en días de restar esas fechas. Tu problema es que has usado un VARCHAR para el campo fecha, algo inapropiado. Por cierto no sé si usas 03, para marzo ó 3, porque eso cambiaría la situación (mira la sugerencia de abajo), y lo mismo digo para el día. Deberías resolver el tema y guardar en la base de datos la fecha en un campo DATE con el formato aaaa/mm/dd, es lo recomendado, pero eso te requerirá algunos pasos.
No he probado esta nueva consulta, pero creo que está bien. Le he puesto a tus campos los nombres campo1, campo2 porque no nos has dicho los nombres.
En caso de usar algo así: 1/8/2009
Código sql:
Ver original
  1. SELECT campo1, campo2, fecha, DATEDIFF(STR_TO_DATE(fecha,'%e/%c/%Y'),curdate()) faltandias
  2.   FROM Conciertos WHERE DATEDIFF(STR_TO_DATE(fecha,'%e/%c/%Y'),curdate()) >= 1 ORDER BY faltandias

Última edición por jurena; 22/05/2009 a las 08:07
  #8 (permalink)  
Antiguo 22/05/2009, 07:31
 
Fecha de Ingreso: noviembre-2005
Mensajes: 44
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: diferencia de fechas php

Muchisimas Gracias Jurena!!!!!!!!!!!!!!!!!!!!!!!!!
He probado con el pimer codigo, que era el formato que tenia mi fecha, y a la PERFECCION! muchisimas gracias de nuevo.
Saludos, y gracias por vuestra ayuda!

Última edición por joshenema; 22/05/2009 a las 07:32 Razón: nombre mal
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 18:43.