Foros del Web » Programando para Internet » PHP »

Problema con fecha

Estas en el tema de Problema con fecha en el foro de PHP en Foros del Web. Buenas de nuevo os expongo una nueva duda. Tengo en mi base estos datos dos campos fecha_begin y fecha_end en los cuales están insertadas estas ...
  #1 (permalink)  
Antiguo 15/05/2007, 05:42
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 12 años, 7 meses
Puntos: 0
Problema con fecha

Buenas de nuevo os expongo una nueva duda.

Tengo en mi base estos datos dos campos fecha_begin y fecha_end en los cuales están insertadas estas dos fechas:

Nota: (el server es americano y va 7 horas por detras nuestra)

fecha_begin contiene 2007-05-14 12:35:31 y fecha_end contiene 2007-05-15 12:35:31

Mi pregunta es como puedo comparar esas dos fechas?

Esta función es la que supuestamente me las compara pero no se que estoy haciendo mal? porque me tendria que devolver el echo...

Código:
function fecha($fecha_end)
{

	$tiempofin = mysql_query("select * from users
                         where $fecha_end ='$fecha_end'");
	$ahora = date("Y-n-j H:i:s");
	   
	if ($tiempofin >$ahora)
	{
	echo "Tu periodo de prueba ha terminado";
	}
return;
	}
Alguien me puede decir donde tengo el fallo? Gracias
  #2 (permalink)  
Antiguo 15/05/2007, 07:56
Avatar de xyro  
Fecha de Ingreso: agosto-2006
Ubicación: Granada
Mensajes: 31
Antigüedad: 13 años, 3 meses
Puntos: 0
Re: Problema con fecha

Hola, el error podria ser el formato que estas metiendo al $ahora:

$ahora = date("Y-n-j H:i:s");

y quizas sera

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

Espero esto te sirva.

Xao
  #3 (permalink)  
Antiguo 15/05/2007, 08:51
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 14 años, 2 meses
Puntos: 19
Re: Problema con fecha

Si te vale hacer la comparación en la consulta, puedes utilizar la función datediff.

Un saludo
  #4 (permalink)  
Antiguo 15/05/2007, 10:09
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: Problema con fecha

Muchas gracias por la respuesta a los dos

primero a xyro lo he probado pero me sigue sin funcionar es como si pasase de la funcion de largo y no la tuviera en cuenta

en cuanto a jerkan como implemento la función datediff dentro de la consulta asi?:

$tiempofin = mysql_query("select datediff * from users
where fecha_end ='$fecha_end'
and fecha_begin='$fecha_end'");

Me gustaria aprender como hacer uso de la funcion datediff porque asi no me funciona :(.

He visto que hay que pasarle dos parametros en mi caso serian los campos fecha_begin y fecha_end que contienen los valores datetime, para que me devuelva la diferencia entre las dos fechas.
pero como es la sitaxis para hacer la estructura de la consulta?

Muchas Gracias, espero respuesta lo antes posible :) un saludo

Última edición por hyperrjas; 15/05/2007 a las 10:53
  #5 (permalink)  
Antiguo 15/05/2007, 10:53
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 14 años, 2 meses
Puntos: 19
Re: Problema con fecha

Cita:
Iniciado por hyperrjas Ver Mensaje
en cuanto a jerkan como implemento la función datediff dentro de la consulta asi?:

$tiempofin = mysql_query("select datediff * from users
where $fecha_end ='$fecha_end'");
¿No miraste el enlace que te puse?
  #6 (permalink)  
Antiguo 16/05/2007, 02:56
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: Problema con fecha

Siento no haber respondido antes no he podido.

Gracias Jerkan por la respuesta
Ahora lo he visto pero sigo teniendo la siguiente duda:


Qué tengo que poner en la consulta? de este modo?:

mysql> SELECT DATEDIFF('campo basedatos','campo basedatos')...

Campo base datos tiene el valor con la fecha en datetime pero no me queda claro si la consulta esta bién hexa así porque sigue mostrando el resultado de siempre:

$datoconsulta = mysql_query("select datediff ('fecha_end','fecha_begin') from users where fecha_end ='$fecha_end' and fecha_begin = $fecha_begin ");

o me sobra la parte esta:

where fecha_end ='$fecha_end' and fecha_begin = $fecha_begin ");

Bueno Gracias de Nuevo espero respuesta lo antes posible
  #7 (permalink)  
Antiguo 16/05/2007, 03:18
 
Fecha de Ingreso: febrero-2007
Ubicación: Jaén
Mensajes: 40
Antigüedad: 12 años, 10 meses
Puntos: 1
Re: Problema con fecha

Hola!

A ver si con esta consulta podrías resolverlo:
SELECT date_format(DateTime, '%Y-%m-%d ') as Time, datediff(DateTime, Now()) as TimeDiff FROM nom_tabla

Creo que no te haría falta poner date_format(DateTime, '%Y-%m-%d ') as Time y en datediff(DateTime, Now()) supongo que deberías cambiar DateTime por el nombre de tu campo y Now() por tu variable $ahora o una función que te devuelva la hora actual en el formato que tu quieres.



Saludos

Última edición por kirkem; 16/05/2007 a las 03:26
  #8 (permalink)  
Antiguo 16/05/2007, 05:30
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 14 años, 2 meses
Puntos: 19
Re: Problema con fecha

Cita:
Iniciado por hyperrjas Ver Mensaje
$datoconsulta = mysql_query("select datediff ('fecha_end','fecha_begin') from users where fecha_end ='$fecha_end' and fecha_begin = $fecha_begin ");

o me sobra la parte esta:

where fecha_end ='$fecha_end' and fecha_begin = $fecha_begin ");
Quítale la parte del where. No veo que te haga falta. Un saludo.
  #9 (permalink)  
Antiguo 16/05/2007, 10:08
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 12 años, 7 meses
Puntos: 0
Re: Problema con fecha

Muchas Gracias de nuevo pror la respuesta.

Sigue sin mostrarme en pantalla el echo, doy el tema por terminado porque me doy por vencido

Gracias de nuevo a todos por las respuestas un saludo :)
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 13:26.