Conocer el numero de la semana dentro de determinado mes, partiendo de una fecha determinada con PHP

septiembre 28, 2009

Últimamente he estado trabajando en una clase para generar calendarios semanales y que he publicado en phpclasses.org. Cuando se apruebe la clase publicaré el enlace para su descarga.

La función que mas me ha costado desarrollar ha sido la destinada a extraer en que semana (1ª, 2ª …) nos encontramos dentro de determinado mes, partiendo de una fecha determinada.

La verdad es que estuve buscando por internet algo que me pudiera servir pero no encontré nada, así que termine por tener que buscarme la vida y creo que el resultado es satisfactorio. Aquí lo comparto con vosotros. Espero que os sirva de ayuda.

function numberOfWeek ($dia, $mes, $ano) {

//generamos la fecha para el día 1 del mes y año especificado
$fecha = mktime ($hora, $min, $seg, $mes, 1, $ano);

/*
El número de semana en el que nos encontramos será igual a:
– el día espeficado +
– el número de día de la semana (lunes, martes …) al que se corresponde la fecha almacenada en $fecha – 1
– entre 7 días que tiene la semana.

Quedando la fórmula de la siguiente manera …
*/
$numberOfWeek = ceil (($dia + (date (“w”, $fecha)-1)) / 7);

return $numberOfWeek;
}

//mostramos en pantalla el resultado devuelto por la función

echo numberOfWeek ("8","9", "2009");