Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/01/2009, 10:15
hharris
 
Fecha de Ingreso: febrero-2007
Mensajes: 28
Antigüedad: 19 años, 7 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