Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/11/2012, 10:24
Mauk
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Pregunta Problema al definir un periodo que cambie cada semana

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
  1. //Definir el periodo
  2.     $hoy = date("w");// identifica que dia de la semana es (Lu-Do).
  3.     $dia = date("j");// identifica que dia del mes es (1-31).
  4.     $mes = date("F");// identifica el nombre del mes
  5.     $anio = date("Y");//identifica el año
  6.  
  7.     if($hoy == "1"){
  8.         //Se muestra el periodo comenzando el dia lunes y se suman 6 dias
  9.         echo "Del ".$dia." al ".($dia+6)." de ".$mes." de ".$anio;
  10.     }elseif($hoy == "2"){
  11.         //Se resta 1 dia si es martes
  12.         echo "Del ".($dia-1)." al ".($dia+5)." de ".$mes." de ".$anio;
  13.     }elseif($hoy == "3"){
  14.         //Se restan 2 dias si es miercoles
  15.         echo "Del ".($dia-2)." al ".($dia+4)." de ".$mes." de ".$anio;
  16.     }elseif($hoy == "4"){
  17.         //Se restan 3 dias si es jueves
  18.         echo "Del ".($dia-3)." al ".($dia+3)." de ".$mes." de ".$anio;
  19.     }elseif($hoy == "5"){
  20.         //Se restan 4 dias si es viernes
  21.         echo "Del ".($dia-4)." al ".($dia+2)." de ".$mes." de ".$anio;
  22.     }elseif($hoy == "6"){
  23.         //Se restan 5 dias si es sabado
  24.         echo "Del ".($dia-5)." al ".($dia+1)." de ".$mes." de ".$anio;
  25.     }else{
  26.         //Se restan 6 dias si es domingo
  27.         echo "Del ".($dia-6)." al ".$dia." de ".$mes." de ".$anio;
  28.     }

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!