RE:Calculo de semanas en un mes
Hola,
Por tu consulta no termino de entender si lo que quieres es una función que te muestre el numero de semanas en un mes o bien el día que empieza o termina la semana.
Tengo el siguiente código que muestra el numero de semanas en las que esta distribuido un mes. Es para calcular el numero de filas necesarias para visualizar un mes en una tabla. No se si es esto lo que estas buscando.
Saludos.
Public Shared Function SemanasEnMes(ByVal NumeroMes As Integer)
Dim SemanaInicial As Integer
Dim SemanaFinal As Integer
'Validacion que el numero de mes esta en el rango
If NumeroMes < 1 Or NumeroMes > 12 Then
Throw New ArgumentException("El Numero del mes ha de estar entre 1 y 12", "NumeroMes")
End If
'obtenemos la primera semana del mes
SemanaInicial = DatePart(DateInterval.WeekOfYear, _
New Date(Now.Year, NumeroMes, 1), _
FirstDayOfWeek.Monday, _
FirstWeekOfYear.Jan1)
'New Date(Now.Year, NumeroMes, 1), _ -----> Creamos una nueva fecha con el primer día del mes
'FirstDayOfWeek.Monday, _ -----> Parámetro que indica que la semana empieza el lunes
'FirstWeekOfYear.Jan1) -----> Parámetro que indica que la primera semana del año es aquella donde esta el día 1 de enero
'obtenemos la ultima semana del mes
SemanaFinal = DatePart(DateInterval.WeekOfYear, _
New Date(Now.Year, NumeroMes + 1, 1).AddDays(-1), _
FirstDayOfWeek.Monday, _
FirstWeekOfYear.Jan1)
'New Date(Now.Year, NumeroMes + 1, 1).AddDays(-1), _ -----> Obtenemos el primer día del mes siguiente y restamos un día para obtener el ultimo día del mes anterior
'restamos 1 a la semana inicial porque el principio del mes esta contenido en la semana inicial
Return (SemanaFinal - (SemanaInicial - 1))
End Function