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>";
?>