PHP - comparar dos fechas

 
Vista:

comparar dos fechas

Publicado por Mike (17 intervenciones) el 27/09/2011 17:37:54
Que tal listeros...acudo a ustedes esperando haya suerte y alguno de ustedes me pueda ayudar.

He tratado de realizar una comparacion entre dos fechas, algo que suponia sencillo, no lo he podido hechar a andar...

lo que hago es lo siguiente:




$today = date("d-m-y");

while($row = mysql_fetch_array($rs))
{

$fecha_limite = $row['limite_cerrar'];
$status = $row['status'];

$fecha1 = strtotime($today);
$fecha2 = strtotime($fecha_limite);

//Verifico que datos traen las variables
echo "<br>";
echo "fecha 1 - ".$fecha1;
echo "<br>";
echo "fecha 2 - ".$fecha2;

if ( $fecha1 > $fecha2 )
{

//Despues quiero validar la variable $status, por ejemplo, si trae un valor , debe de imprimir algo de lo contrario, debe de imprimir otra cosa

if ($status == 1 )
print ('<td bgcolor ="#FF0000"> <center> PAST DUE </center> </td>');
else
print ('<td bgcolor ="#5CB3FF"> <center> CLOSE </center> </td>');
}
elseif ($status == 1 )
print ('<td bgcolor ="#52D017"> <center> OPEN </center> </td>');
else
print ('<td bgcolor ="#5CB3FF"> <center> CLOSE </center> </td>');
}

Por ejemplo, tengo los siguientes valores en las variables

fecha 1 - 27-09-11
fecha 2 - 03-10-11

como se puede ver, el valor de fecha 1 es menor al valor de fecha 2...pero despues de convertir esto con la funcion strtotime...los resultados son los siguientes:

fecha 1 - 1820638800
fecha 2 - 1065848400

Como le puede hacer para que me compara unicamente las fechas y entre dependiendo el valor o haga lo que quiero....

no me interesa utilizar una funcion para saber si es dia bisiesto o meses con menores dia...solo quiero que entre dependiende si la fecha es menor o mayor....

saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

comparar dos fechas

Publicado por xve (6935 intervenciones) el 27/09/2011 17:53:44
Hola Mike, creo que el problema esta, en que Mysql trabaja las fechas con el formato yyyy-mm-dd, por eso el strtotime te da esos valores.
Convierte las cadenas al formato ingles...

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

comparar dos fechas

Publicado por xve (6935 intervenciones) el 27/09/2011 17:57:38
Se me ha olvidado decirte, que en nuestro caso, siempre tratamos las fechas en ingles, ya que los sistemas con los que trabajamos (Linux), por defecto así lo hacen. Únicamente cambiamos al formato español en el momento de mostrar-lo al usuario con la función:

1
date("d/m/Y",strtotime('yyyy-mm-dd'))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar