CALCULAR DIAS UTEIS

PHANTOM 13/08/2010 20:32:42
#350225
Olá. Estou tentando fazer uma espécie de agenda no VB.NET. Eu preciso que o programa identifique (por exemplo) o 5º dia útil do mês e me notifique. Eu posso fazer isso com ajuda da TimeSpan???
PHANTOM 13/08/2010 21:15:33
#350232
Ok, mas eu teria q cadastrar todos os dias 1 de cada mês, certo?
JONATHANSTECKER 13/08/2010 21:20:35
#350233
[txt-color=#007100][ô] Aqui você chama o método[/txt-color]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MsgBox(RetornaQuintoDiaUtil(DateTimePicker1.Value))
End Sub

[txt-color=#007100][ô] Método para verificar o quinto dia util do Mês[/txt-color]
Private Shared Function RetornaQuintoDiaUtil(ByVal Data As DateTime) As String
Dim primeiroDiaUtil As Int32 = RetornaPrimeiroDiaUtil(Data)

Dim auxDiasUteisLocalizados As Int32 = 1
Dim auxContadorDiaVerificados As Int32 = 1
Dim quintoDiaUtil As DateTime = DateTime.Now
Dim dataPrimeiroDiaUtil As New DateTime(Data.Year, Data.Month, primeiroDiaUtil)

While auxDiasUteisLocalizados < 5
quintoDiaUtil = dataPrimeiroDiaUtil.AddDays(auxContadorDiaVerificados)

If VerificaDiaUtil(quintoDiaUtil) Then
auxDiasUteisLocalizados += 1
End If

auxContadorDiaVerificados += 1
End While

[ô]Return quintoDiaUtil.Day.ToString()
Return quintoDiaUtil.Day.ToString() & [Ô]/[Ô] + quintoDiaUtil.Month.ToString() & [Ô]/[Ô] & quintoDiaUtil.Year.ToString()
End Function [ô]RetornaQuintoDiaUtil

Private Shared Function RetornaPrimeiroDiaUtil(ByVal Data As DateTime) As Integer
Dim primeiroDiaMes As New DateTime(Data.Year, Data.Month, 1)

While Not VerificaDiaUtil(primeiroDiaMes)
primeiroDiaMes = primeiroDiaMes.AddDays(1.0F)
End While

Return primeiroDiaMes.Day
End Function [ô]RetornaPrimeiroDiaUtil

Private Shared Function VerificaDiaUtil(ByVal DiaMes As DateTime) As Boolean
If DiaMes.DayOfWeek = DayOfWeek.Saturday Or DiaMes.DayOfWeek = DayOfWeek.Sunday Then
Return False
End If
Return True
End Function

End Class
PHANTOM 14/08/2010 00:13:13
#350249
Eu quero ser igual a vcs qdo eu crescer...
Vcs são ótimos, muito obrigado msm!
Tópico encerrado , respostas não são mais permitidas