Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2005, 22:47
Avatar de chalchis
chalchis
 
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta comparar fechas

hola amigos tengo un problemilla con las
fechas tengo este escript que compara
que fechas es mayor menor o igual.

el problema es que veo que solo funciona
con el formato dd/mm/yyyy

y en una tabla registro la fechas
en formato yyyy-mm-d
y en esta funcion no trabaja
asi puede decirme alguien
que debo hacer saber si por ejemplo la fecha del sistema es
2005-04-7 es mayor a la fecha registrada en tabla digamos 2005-04-6




<?
function compara_fechas($fecha1,$fecha2)
{
if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha1))
list($dia1,$mes1,$año1)=split("/",$fecha1);
if (preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha1))
list($dia1,$mes1,$año1)=split("-",$fecha1);

if (preg_match("/[0-9]{1,2}\/[0-9]{1,2}\/([0-9][0-9]){1,2}/",$fecha2))
list($dia2,$mes2,$año2)=split("/",$fecha2);
if (preg_match("/[0-9]{1,2}-[0-9]{1,2}-([0-9][0-9]){1,2}/",$fecha2))
list($dia2,$mes2,$año2)=split("-",$fecha2);

$dif = mktime(0,0,0,$mes1,$dia1,$año1) - mktime(0,0,0, $mes2,$dia2,$año2);

return ($dif);
}


$f1="7/04/2005";

$f2="6/04/2005";

if (compara_fechas($f1,$f2)<0)
echo "$f1 es menor que $f2 <br>";

if (compara_fechas($f1,$f2)>0)
{
echo "$f1 es mayor que $f2 <br>";
}

if (compara_fechas($f1,$f2)==0)
echo "$f1 es igual que $f2 <br>";


?>
__________________
gerardo

Última edición por chalchis; 07/04/2005 a las 22:49