USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (Miscelâneas)

Título da Dica:  Cálculo de Feriado Movel
Postada em 22/9/2006 por wncruz            
Esta função calcula a Data se é feriada movel (Carnaval, Sexta-feira santa, Pascoa e Corpus Christie)
Parametro (pdatPesquisa) - A data a ser verificada
Retorno - True = achou / False Não Achou

Public Function E_Feriado(pdatPesquisa As Date) As Boolean
    Dim datData As Date
    Dim Ano As Integer
    Dim A As Integer
    Dim B As Integer
    Dim C As Integer
    Dim D As Integer
    Dim E As Integer
    Dim F As Integer
    Dim G As Integer
    Dim H As Integer
    Dim i As Integer
    Dim K As Integer
    Dim L As Integer
    Dim M As Integer
    Dim p As Integer
    Dim Q As Integer
    E_Feriado = False
    Ano = Year(pdatPesquisa)
    A = (Ano Mod 19)
    B = Int(Ano / 100)
    C = (Ano Mod 100)
    D = Int(B / 4)
    E = (B Mod 4)
    F = Int((B + 8) / 25)
    G = Int((B - F + 1) / 3)
    H = ((19 * A + B - D - G + 15) Mod 30)
    i = Int(C / 4)
    K = (C Mod 4)
    L = ((32 + 2 * E + 2 * i - H - K) Mod 7)
    M = Int((A + 11 * H + 22 * L) / 451)
    p = Int((H + L - 7 * M + 114) / 31)
    Q = ((H + L - 7 * M + 114) Mod 31)
    datData = Format(Str(Q + 1) & "/" & Str(p) & "/" & Str(Ano), "dd/mm/yyyy")
    If pdatPesquisa = datData Then
        'É Pascoa
        E_Feriado = True
    End If
    If pdatPesquisa = (datData - 47) Then
        'É Carnaval
        E_Feriado = True
    End If
    If pdatPesquisa = (datData - 60) Then
        'É Corpus Christi
        E_Feriado = True
    End If
    If pdatPesquisa = (datData - 2) Then
        'É Sexta-Feira Santa
        E_Feriado = True
    End If
End Function

 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página