Foros del Web » Programando para Internet » PHP »

Como comparar fechas

Estas en el tema de Como comparar fechas en el foro de PHP en Foros del Web. Mi problema es que no se como comparar dos fechas dadas: quisiera comparar una fecha que se encuentra en el servidor introducida previamente por el ...
  #1 (permalink)  
Antiguo 30/05/2005, 06:54
 
Fecha de Ingreso: febrero-2005
Mensajes: 22
Antigüedad: 12 años, 9 meses
Puntos: 0
Como comparar fechas

Mi problema es que no se como comparar dos fechas dadas:
quisiera comparar una fecha que se encuentra en el servidor introducida previamente por el cliente y la fecha actual, para luego sólo visualizar los registros que tengan fechas posterior a la actual en ese momento.
  #2 (permalink)  
Antiguo 30/05/2005, 07:12
Avatar de Pazosele  
Fecha de Ingreso: marzo-2005
Ubicación: BCN - España
Mensajes: 200
Antigüedad: 12 años, 9 meses
Puntos: 0
supongo que tienes ya las fechas introducidas en variables tipo datetime por ejemplo.
para comparar 2 variables tipo fecha lo puedes hacer con un if simple de toda la vida.

si lo que quieres es visualizar solo los que tengan fecha posterior, lo meujor es que al hacer el select (porque deduzco que usas una base de datos tipo SQL o algo asi) le restringes que solo te muestre los valores superoipres al que tu quieres. Hay muchas formas, puedes usar BETWEEN, para comparar entre 2 fechas.. depende komo lo kieras exactamente. O si lo k kiere ses solo los posteriores pue sen el select poner algo tipo
Código:
Select .............. WHERE FECHACLIENTE>$lafechaactual
No das muchos datos de que programa usas, pero si buscas un poco en el foro, encontraras muchas preguntas como la tuya.

un saludo!
__________________
Share our Knowledge!
Adura Vita!
  #3 (permalink)  
Antiguo 30/05/2005, 10:19
 
Fecha de Ingreso: febrero-2005
Mensajes: 22
Antigüedad: 12 años, 9 meses
Puntos: 0
Estoy intentado hacer un select donde la fecha a comparar se encuentra en deadline, pero me carga todos los registros:

"SELECT * FROM calls WHERE deadline > 'date()' ORDER BY id DESC"

¿que estoy haciendo mal?
  #4 (permalink)  
Antiguo 31/05/2005, 04:10
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
que date() no es función de SQL...

Utiliza esta query:
Código:
SELECT * FROM calls WHERE deadline > CURDATE() ORDER BY id DESC
... ¿tu camo es tipo DATE ó DATETIME??.. si es DATE lo anterior esta bien, ignoro si sirva con un DATETIME, de no servir prueba esto:
Código:
SELECT * FROM calls WHERE LEFT(deadline, 10) > CURDATE() ORDER BY id DESC
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 31/05/2005, 07:37
 
Fecha de Ingreso: febrero-2005
Mensajes: 22
Antigüedad: 12 años, 9 meses
Puntos: 0
Gracias jam1138, he utilizado:

"SELECT * FROM calls WHERE deadline >= CURDATE() ORDER BY id DESC";
y funciona perfectamente aunque se trate de un campo datetime.

Un saludo.
  #6 (permalink)  
Antiguo 31/05/2005, 07:43
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Pués gracias por decirlo... no lo sabía y lo anoto... que bueno que sirve . Saludos!

Solo por agregar información... date() es una función de PHP y tiene parámetros para devolver la fecha, no la puedes ocupar directamente en la sentenciá SQL así como así... quizá con:
Código PHP:
"SELECT * FROM calls WHERE deadline >= '".date('Y-m-d')."' ORDER BY id DESC"
tampoco sé que funcione con certeza (apuesto a que sí )... sí se que sí antes le asignas a una variable lo devuelto por el date --así como está-- y aplicas esa variable a la consulta, eso sí servirá... pero no es lo más óptimo pués gastas recursos en PHP cuando SQL lo puede hacer directo...

www.php.net/date

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 03:40.