Foros del Web » Programando para Internet » PHP »

Problema al definir un periodo que cambie cada semana

Estas en el tema de Problema al definir un periodo que cambie cada semana en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 29/11/2012, 10:24
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 12 años, 2 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!
  #2 (permalink)  
Antiguo 30/11/2012, 13:46
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Problema al definir un periodo que cambie cada semana

Tienes que usar mktime() con date() para poder hacer esto...

Algo asi:
Código PHP:
Ver original
  1. $diaUno = mktime (0,0,0,date('m'),$dia+6,date('Y'));
  2. print date("d/m/Y",$diaUno);

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Etiquetas: cada, definir, semana, cambios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:18.