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