Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/12/2014, 14:34
alejandromaringomez
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: Comparar solo MM-DD

¡Hola pateketrueke! ,
La cosa es que mezclo cosas, es decir...

Las fechas se cojen mediante datepicker, que deja de margen de 1 año, claro, al dejar un año hay una parte de código que varía...

Cita:
<?php

function valida_fecha($inicio, $fin, $date_entrega, $date_devolucion) {

if(strtotime($date_entrega) >= strtotime($inicio) && strtotime($date_entrega) <= strtotime($fin)) {

if(strtotime($date_devolucion) >= strtotime($inicio) && strtotime($date_devolucion) <= strtotime($fin)) {

return true;

} else {

return false;

}

} else {

return false;

}

}

$date = $_GET['date'];

$date_2 = $_GET['date_2'];

if(valida_fecha('2014-01-06', '2014-03-15', $date, $date_2) || valida_fecha('2014-11-01', '2014-12-15', $date, $date_2)) {

echo 'Temporada baja';

} else if(valida_fecha('2014-12-16', '2014-01-05', $date, $date_2) || valida_fecha('2014-03-16', '2014-06-30', $date, $date_2)) {

echo 'Temporada media';

} else if(valida_fecha('2014-07-01', '2014-10-31', $date, $date_2)) {

echo 'Temporada alta';

} else {

echo 'Entre temporada';

}

?>
Imagína que escojes fecha del 17 de Diciembre a el 1 de Enero de 2015, si os fijais hay coladeros, con ello me refiero a que debería dar como temporada baja, media o alta y lo da como que es una fecha entre temporadas...

Por ejemplo un coladero es que si yo pongo:

Cita:
else if(valida_fecha('2014-12-16', '2015-01-05', $date, $date_2) || valida_fecha('2014-03-16', '2014-06-30', $date, $date_2)) {

echo 'Temporada media';

}
Si os fijais al comienzo he puesto hasta el 2015, con eso ya vale para que entre esas fechas me de todo como temporada media.

Lo que estaba pensando es quitar los años y poner solo meses y dias.

Un saludo y gracias también a Djoaq:)