Foros del Web » Programando para Internet » PHP »

comparar fechas

Estas en el tema de comparar fechas en el foro de PHP en Foros del Web. Hola buenas, bueno no llevo mucho con php ya que por ahora hacia todo en asp, bueno al asunto, tengo un campo que tiene formato ...
  #1 (permalink)  
Antiguo 26/04/2007, 05:20
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 2
Exclamación comparar fechas

Hola buenas, bueno no llevo mucho con php ya que por ahora hacia todo en asp, bueno al asunto, tengo un campo que tiene formato text y qu eme recoge el valor fecha y hora, que sale de esta forma,

date_enter = 22/04/2007 (10:38:10)

el caso es que tengo que hacer una consulta y que me muestre solo las que tengan fecha del 22/04/2007, por lo que hago un formulario y pongo un campo para poner la fecha y laconsulta que hago quedaría de esta forma:

SELECT * FROM tracking where substr(date_enter, 0, 10) = '26/04/2007' order by id DESC limit 0,100

esta consulta estaría bien?, no me devuelve ningún valor, cosa que si lo hago separado de la consulta si me muestra esos valores, alquien sabe como se debería hacer esta consulta?

Un saludo
__________________
asp, php, .net, adaptandose a las necesidades
  #2 (permalink)  
Antiguo 26/04/2007, 07:28
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Información Re: comparar fechas

En principio, el campo en la base de datos no debe ser de texto, debes configurarlo como DATETIME.
Ahi si directamente en tu consulta configuras asi:

... WHERE date_enter = '$fecha'

Recuerda que en la base de datos ala fecha se guarda automáticamente de esta manera: Año-MES-DIA.

Suerte
  #3 (permalink)  
Antiguo 26/04/2007, 08:24
 
Fecha de Ingreso: febrero-2002
Ubicación: Navarra
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 2
Re: comparar fechas

Buenas, he encontrado la solución, sería ponerlo de esta forma:

$fechap es la variable que recoge el campo fecha del formulario
$fecha = substr(date_enter, 0, 10)." like "."\"$fechap%\"";
SELECT * FROM AT_tracking where ". $fecha ." order by id DESC limit 0,100

de esta forma funciona.

Un saludo
__________________
asp, php, .net, adaptandose a las necesidades
  #4 (permalink)  
Antiguo 01/05/2007, 09:09
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: comparar fechas

Hola a todos, tengo una pregunta de comparar fechas.

Tengo en una varible INT almacenado el AÑO de registro de una persona.
En otra variable DATE tengo la FECHA de caducidad de esa misma persona.

Dado un año almacenado en un valor INT, como puedo comparlo con un valor DATE?? O sea solamente el calculo tiene que ser del AÑO claro.

Tengo mi consulta en MYSQL :

$sql="select * FROM historia_clinica WHERE carnet_sanitario_cs = 'Renovacion' && fecha_caducidad = ".$_POST["añocaducidad"]."";

Como veran el valor de añocaducidad es un INT y mi campo de fecha_caducidad es un DATE. Hay alguna forma de hacer la comparacion en la condicion de la consulta?

PD.: El año esta en 4 cifras y la fecha en AAAA-MM-DD o AAAA/MM/DD

Gracias!

Última edición por makeitslow; 01/05/2007 a las 10:35 Razón: Resumir la pregunta
  #5 (permalink)  
Antiguo 01/05/2007, 23:33
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: comparar fechas

Hola a todos, me di cuenta que mi solucion estaria en convertir mi numero INT a una fecha... Como puedo crearme una variable del tipo DATE a partir del INT??

Ya probe haciendo el MKTIME(0,0,0,12,12,$AÑO)

Donde $AÑO es la asignacion del INT a esta variable.. pero el MKTIME me devuelve un valor inmenso que es un INT, para nada DATE.

EDITADO:

Resulta que acabo de darme cuenta de mi estupidez... no es necesario que la variable en PHP sea del tipo DATE... basta con concatenar en el formato de una variable DATE mis datos a una variable comun y corriente.

Si tengo $AÑO obtenido de un $_POST solo tendria que hacer esto:

$fecha = $AÑO."-"."NUMEROPARAMES"."-"."NUMEROPARADIA";

Y listo.. tengo mi variable $fecha que puedo compararlo con cualquier DATE.

Última edición por makeitslow; 03/05/2007 a las 10:44 Razón: Proporcionando Solucion
  #6 (permalink)  
Antiguo 03/05/2007, 21:04
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: comparar fechas

Hola a todos de nuevo... Tengo otra pregunta.. Todos conocen lo que hace la funcion now() en PHP.

Nos da la fecha y hora del servidor o de la maquina en la que nos encontramos, su formato es AAAA-MM-DD HH:MM:SS.

Como podria hacer que llamando a now() le agregue un año mas al resultado?

O sea, si now() me da:

2007-05-05 23:03:51

Quisiera obtener:

2008-05-05 23:03:51

Gracias!
  #7 (permalink)  
Antiguo 08/05/2007, 16:49
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: comparar fechas

Hola a todos! Ya solucione mi duda, para obtener un NOW() o un LOCALTIME() con un año, mes, dia, hora, minuto o segundo agregado.. solo hay que sumarle el valor que necesitamos a una variable.

O sea si queremos modificar el año por ejemplo:

Código PHP:
$aux=date("Y");
$anio=$aux+1;
$fecha=date("$año-m-d H:m:s"); 
Y asi como sea necesario, o sea agarramos el valor en una variable auxiliar y en otra definitiva le sumamos lo que necesitamos y luego en la fecha mandamos ese valor al metodo DATE() para crear una fecha.

Tal vez no sea muy util para muchos, pero a ver si a alguien le sirve CREAR FECHAS.

Gracias!.

PD. No se por que pero la Hora de la fecha tambien me sale agregada con una hora mas a la de la maquina.

Última edición por makeitslow; 09/05/2007 a las 11:29
  #8 (permalink)  
Antiguo 09/05/2007, 11:34
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: comparar fechas

Hola de nuevo, acabo de darme cuenta que independientemente de sumarle un año a una fecha creada por DATE(), tengo un problema en la HORA, esta me sale una mas que la normal...

Estoy creando fechas con este formato:

$fecha=date("Y-m-d H:i:s");

y si la fecha y hora en la maquina es:

2007-05-09 13:32:09

mi variable $fecha es:

2007-05-09 14:32:09

Podria solucionar esto creando una variable auxiliar donde agarro la hora date("H"), (Que por cierto tambien me sale aumentada en 1) y luego restarle ese 1 mas que se suma.

Pero como explico ese comportamiento?? Ya probe en varias maquinas y me sale igual....

Alguien sabe??? Gracias!
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 19:07.