Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/01/2009, 10:15
hharris
 
Fecha de Ingreso: febrero-2007
Mensajes: 28
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Primer y ultimo día de una Semana N (comenzando X el 1er lunes del Año)

Hola danikene,

yo tengo una función que le pasas por parámetro el número de la semana y el año que deseas consultar, y te devuelve un arreglo con las fechas a partir del lunes hasta el domingo de la semana en cuestión:

Código PHP:

function getDiasEnSemana ($numeroSemana$anio
{
      
// Cuento a partir del '0104' porque Enero 4 está siempre en la semana 1
      // (de acuerdo a ISO 8601).
      
$tiempoSemana strtotime($anio '0104 +' . ($numeroSemana 1) . ' weeks');
  
      
// Obtengo el timestamp del primer día de la semana (lunes)
      
$lunesSemana strtotime('-' . (date('w'$tiempoSemana) - 1) . ' days'$tiempoSemana);
      
      
// Obtengo el timestamp del resto de los días a partir del lunes
      // Los guardo en un arreglo 
      
$diasSemana = array ();
      for (
$i 0$i 7; ++$i
      {
            
$diasSemana[] = strtotime('+' $i ' days'$lunesSemana);
    }
    
// Retorno el arreglo de dias de una semana..
      
return $diasSemana;


Si quieres obtener la semana en que se encuentra una fecha dada, puedes probar esto:

Código PHP:
//para 02/01/2009  ->  02 de enero de 2009

$semana date('W',  mktime(0,0,0,01,02,2009)); 

El único detalle es que genera conflicto entre los años que tienen 52 y los que tienen 53 semanas, pero verificando eso me parece que funciona muy bien.

Espero te pueda ayudar.

Saludos cordiales