Que tal, de nuevo aquí vengo a solicitar su ayuda, para resolver un pequeño detalle que se me presento al definir una sentencia para que un determinado periodo de días cambie conforme avanzan los días.
Aquí esta mi código:
Código PHP:
Ver original//Definir el periodo
$hoy = date("w");// identifica que dia de la semana es (Lu-Do). $dia = date("j");// identifica que dia del mes es (1-31). $mes = date("F");// identifica el nombre del mes $anio = date("Y");//identifica el año
if($hoy == "1"){
//Se muestra el periodo comenzando el dia lunes y se suman 6 dias
echo "Del ".$dia." al ".($dia+6)." de ".$mes." de ".$anio;
}elseif($hoy == "2"){
//Se resta 1 dia si es martes
echo "Del ".($dia-1)." al ".($dia+5)." de ".$mes." de ".$anio;
}elseif($hoy == "3"){
//Se restan 2 dias si es miercoles
echo "Del ".($dia-2)." al ".($dia+4)." de ".$mes." de ".$anio;
}elseif($hoy == "4"){
//Se restan 3 dias si es jueves
echo "Del ".($dia-3)." al ".($dia+3)." de ".$mes." de ".$anio;
}elseif($hoy == "5"){
//Se restan 4 dias si es viernes
echo "Del ".($dia-4)." al ".($dia+2)." de ".$mes." de ".$anio;
}elseif($hoy == "6"){
//Se restan 5 dias si es sabado
echo "Del ".($dia-5)." al ".($dia+1)." de ".$mes." de ".$anio;
}else{
//Se restan 6 dias si es domingo
echo "Del ".($dia-6)." al ".$dia." de ".$mes." de ".$anio;
}
El problema esta los días últimos de cada mes, es decir si ejecuto esta sentencia el día de hoy el resultado sera:
Del 26 al 32 de Noviembre de 2012
El comienzo del periodo lo marca bien, pero no tome en cuenta los periodos que pudieran ser entre finales y principios de meses diferentes, el error es que me marca "..32 de Noviembre" y ningún mes tiene mas de 31 días, el resultado que yo quisiera ver seria:
Del 26 al 2 de Diciembre de 2012
No se si me explique, ojala puedan ayudarme con alguna idea de como validar esto, mil gracias por su ayuda!