Visual Basic.NET - Calculo de semanas en un mes

   
Vista:

Calculo de semanas en un mes

Publicado por Jorge Ramirez (1 intervención) el 18/04/2009 01:45:17
Saludos a todos en el foro, Mi consulta es la siguiente:

Quiero Saber el numero de semanas que tiene un mes cuando yo escoja al azar;

Por decir

Enero 2009 Semana1 29/12/2008 04/01/2009
Semana2
Semana3
Semana4
Semana5 26/01/2009 01/02/2009

Febrero 2009 Semana6
Semana7
Semana8
Semana9

asi sucesivamente. estoy programando en visual 2008
espero que me puedan ayudar..
Atte Jorge Ramirez.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Calculo de semanas en un mes

Publicado por Joan F (129 intervenciones) el 18/04/2009 22:48:47
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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo de semanas en un mes

Publicado por esteban esteban.g.p.s@gmail.com (1 intervención) el 10/09/2011 17:15:00
me has salvado la vida, gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar