Obtener las semanas del mes, es en ocasiones unas de las necesidades que como programador debemos tener a la mano para darle solución a determinados requerimientos. A continuación compartimos una función programada en el lenguaje de programación de PHP que retorna un arreglo con las semanas del mes.

El objetivo de la función semanasMes es retornar un arreglo con las semanas del mes indicando por cada semana cual es el día de inicio y el día final de cada semana. El inicio de la semana en este algoritmo es el Lúnes, usando el comodín ‘w’ en la función date:

w – día de la semana, en número, de “0”(domingo) a “6”(sábado)

 

        function semanasMes($mes,$anno)
	{		
		$ultimo_dia = date("d",mktime(0,0,0,$mes+1,0,$anno));
		$semanas = array();
		$cantidad_semanas = 0;
		$inicio = 1;
		$fin = 0;
		$dia_semana = '';
		for($i = 1;$i<=$ultimo_dia;$i++)
		{
			$fecha = mktime(0,0,0,$mes,$i,$anno);
			$dia_semana = date('w',($fecha));
			if($dia_semana == 0)
			{
				$semanas[$cantidad_semanas] = array('inicio' => $inicio,'fin'=>$i);
				$inicio = $i+1;
				$cantidad_semanas++;
			}
		}
		$ultima_semana = end($semanas);
		if($ultima_semana['fin'] != $ultimo_dia)
		{
			$semanas[$cantidad_semanas] = array('inicio' => $inicio,'fin' => $ultimo_dia);
		}
		return $semanas;
	}

 

Compartir en: