Usuário com melhor resposta
identificar as semanas daquele mes

Pergunta
-
olá
existe algum comando no vb.net que me diga as semana do ano referentes a um determinado mes do ano?
Exemplo do que preciso
preciso que o user escolha o ano e o mês, em duas combobox distintas. Ao carregar num botão o vb.net informa que semanas tem esse mes no referido ano.
Ex:. no ano 2007 no mes de fevereiro as semanas foram as 5, 6, 7 e 8.
tem como fazer isso?
A parte da combobox sei fazer, não sei e o comando para reverter a info das semanas.
valeu
- Editado Jonas.8 domingo, 30 de setembro de 2012 16:47
Respostas
-
Jonas veja este método que retorna apenas o numero das semanas de acordo com o DateTime passado como parâmetro, talvez te ajude:
Public Shared Function NumerosSemana([date] As DateTime) As System.Collections.Generic.List(Of Integer) Dim nSemana As New System.Collections.Generic.List(Of Integer)() Dim dfi As System.Globalization.DateTimeFormatInfo = New System.Globalization.CultureInfo("pt-BR").DateTimeFormat Dim cal As System.Globalization.Calendar = dfi.Calendar Dim primeiroDiaMes As New DateTime([date].Year, [date].Month, 1) Dim mes As Integer = primeiroDiaMes.Month While primeiroDiaMes.Month = mes Dim semana As Integer = cal.GetWeekOfYear(primeiroDiaMes, dfi.CalendarWeekRule, dfi.FirstDayOfWeek) If Not nSemana.Contains(semana) Then nSemana.Add(semana) End If primeiroDiaMes = primeiroDiaMes.AddDays(1) End While Return nSemana End Function
Referencia:
http://msdn.microsoft.com/en-us/library/system.globalization.calendar.getweekofyear.aspxVitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Marcado como Resposta Jonas.8 domingo, 30 de setembro de 2012 23:39
Todas as Respostas
-
Jonas veja este método que retorna apenas o numero das semanas de acordo com o DateTime passado como parâmetro, talvez te ajude:
Public Shared Function NumerosSemana([date] As DateTime) As System.Collections.Generic.List(Of Integer) Dim nSemana As New System.Collections.Generic.List(Of Integer)() Dim dfi As System.Globalization.DateTimeFormatInfo = New System.Globalization.CultureInfo("pt-BR").DateTimeFormat Dim cal As System.Globalization.Calendar = dfi.Calendar Dim primeiroDiaMes As New DateTime([date].Year, [date].Month, 1) Dim mes As Integer = primeiroDiaMes.Month While primeiroDiaMes.Month = mes Dim semana As Integer = cal.GetWeekOfYear(primeiroDiaMes, dfi.CalendarWeekRule, dfi.FirstDayOfWeek) If Not nSemana.Contains(semana) Then nSemana.Add(semana) End If primeiroDiaMes = primeiroDiaMes.AddDays(1) End While Return nSemana End Function
Referencia:
http://msdn.microsoft.com/en-us/library/system.globalization.calendar.getweekofyear.aspxVitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Marcado como Resposta Jonas.8 domingo, 30 de setembro de 2012 23:39
-