Hola amigos ,
Tengo un problema, es que un cliente me ha pedido que varíe un precio según temporadas, es decir, el usuario escoje una fecha de entrega de un coche, y otra de devolución, entonces debo saber si esas dos fechas están en un rango de fechas (Temporada) u otra.
ATENCIÓN: Es muy importante que el año lo ignore, ya que puede elegir hasta un año más adelante o puede variar.
He hecho lo siguiente sin que me de resultado:
Código:
<?php
function check_in_range($start_date, $end_date, $evaluame) {
$start_ts = strtotime($start_date);
$end_ts = strtotime($end_date);
$user_ts = strtotime($evaluame);
return (($user_ts >= $start_ts) && ($user_ts <= $end_ts));
}
$date = $_GET['date'];
$date_2 = $_GET['date_2'];
if(check_in_range('2014-01-06', '2014-03-15', $date) && check_in_range('2014-01-06', '2014-03-15', $date_2) || check_in_range('2014-11-01', '2014-12-15', $date) && check_in_range('2014-11-01', '2014-12-15', $date_2)) {
echo 'Temporada baja';
} else if(check_in_range('2014-12-16', '2014-01-05', $date) && check_in_range('2014-12-16', '2014-01-05', $date_2) || check_in_range('2014-03-16', '2014-06-30', $date) && check_in_range('2014-03-16', '2014-06-30', $date_2)) {
echo 'Temporada media';
} else if(check_in_range('2014-07-01', '2014-10-31', $date) && check_in_range('2014-07-01', '2014-10-31', $date_2)) {
echo 'Temporada alta';
} else {
echo 'Entre temporada';
}
?>
Muchísimas gracias :)