quarta-feira, 21 de setembro de 2011

Funções para data com o primeiro dia de um mês, último dia de um mês e verificação se o ano é bissexto

Abaixo estão os códigos das funções que devolvem a data com o primeiro dia do mês, último dia do mês e se um ano é bissexto. Coloque estes códigos em um Módulo ou Class Form.

Public Function IniciodoMes(ByVal intData As Integer) As Integer

      Dim
intMes, intAno As Integer

     
intMes = CInt(Format(DateAdd(DateInterval.Day, intData, constData), "MM"))
      intAno =
CInt(Format(DateAdd(DateInterval.Day, intData, constData), "yyyy"))
      IniciodoMes = DateDiff(
DateInterval.Day, constData, DateSerial(intAno, intMes, 1))

End Function

Public Function
FimdoMes(ByVal intData As Integer) As Integer

      Dim
intDia, intMes, intAno As Integer

     
intMes = CInt(Format(DateAdd(DateInterval.Day, intData, constData), "MM"))
      intAno =
CInt(Format(DateAdd(DateInterval.Day, intData, constData), "yyyy"))

     
Select Case intMes
            Case 4, 6, 9, 11
                  intDia = 30
            Case 2
                  If Bissexto(intAno) = True Then
                       
intDia = 29
                  Else
                       
intDia = 28
                  End If
            Case Else
                 
intDia = 31
      End Select

     
FimdoMes = DateDiff(DateInterval.Day, constData, DateSerial(intAno, intMes, intDia))

End Function

Public Function
Bissexto(ByVal intAno As Integer) As Boolean

     
Bissexto = False
      If
intAno Mod 4 = 0 Then
           
Bissexto = True
      Else
           
Bissexto = False
      End If

End Function


Simples, não?

Um comentário: