CALCULAR DIAS UTEIS
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???
Ok, mas eu teria q cadastrar todos os dias 1 de cada mês, certo?
[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
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
Eu quero ser igual a vcs qdo eu crescer...
Vcs são ótimos, muito obrigado msm!
Vcs são ótimos, muito obrigado msm!
Tópico encerrado , respostas não são mais permitidas