Pues tengo esta funcion que compara fechas con mktime utilizando fechas de unix pero no entiendo porque me devuelve una fecha negativa si alguien me lo explica me haría un favor:
Datos a intoducir:
Fecha renovacion = 2009-06-28
Fecha actual = 2009-06-29
Separador = '-'
Me devuelve lo siguiente:
Fecha renovacion: 1227999600 MAYOR Fecha actual: -14462
Y como podréis ver la fecha de renovación que coge la funcion por pirmer parametro no es mayor que la actual.
Función chapucerica:
Código PHP:
function compara_fecha_actual($fecha,$separador)
{
# obtenemos la fecha actual en formato unix
$fecha_actual=mktime(0,0,0,date('Y'),date('m'),date('d'));
# fecha con la que queremos operar
$fecha_operar=$fecha;
# separamos los valores de la fecha con la que queremos operar
list($anio,$mes,$dia)=explode($separador,$fecha_operar);
# redefinimos la variable $fecha_operar y le almacenamos el valor unix
$fecha_operar=mktime(0,0,0,$mes,$dia,$anio);
/* Ahora estamos listos para efectuar operaciones con ambas fechas */
if($fecha_operar < $fecha_actual){ // RENOVACION
echo '<br>Fecha renovacion: '.$fecha_operar.' MENOR Fecha actual: '.$fecha_actual.'<br>';
return 0; }
elseif($fecha_operar > $fecha_actual){ // NO NECESITA RENOVARSE
echo '<br>Fecha renovacion: '.$fecha_operar.' MAYOR Fecha actual: '.$fecha_actual.'<br>';
return 1; }
elseif($fecha_actual == $fecha_operar){ // ULTIMO DIA
echo '<br>Fecha renovacion: '.$fecha_operar.' IGUAL Fecha actual: '.$fecha_actual.'<br>';
return 2; }
}
Si alguien me dice donde está el problema de lujo porque yo ya nose que hacer gracias.