Snippet

Velikonoční svátky

Přidáno: 14.6.2009       Kategorie: VB.NET - Algoritmy       Autor: Mirka Knížková

Funkce vrací datum velikonočních svátků zadaného roku ve tvaru MMDD. Kód jsem našla někdy před deseti lety, autora neznám.

 Private Function fceSvatkyVelikonoce(ByVal aRok As Integer) As Integer
        Dim s, j, g, e, c, a, b, d, f, h, k, u As Integer
        Dim v As Integer
        Dim fMes, fDen As Integer

            a = aRok Mod 19
            b = aRok \ 100
            c = aRok Mod 100
            d = b \ 4
            e = b Mod 4
            f = (b + 8) \ 25
            g = (b - f + 1) \ 3
            h = (19 * a + b - d - g + 15) Mod 30
            j = c \ 4
            k = c Mod 4
            s = (32 + 2 * e + 2 * j - h - k) Mod 7
            u = (a + 11 * h + 22 * s) \ 451
            v = h + s - 7 * u + 114
            fMes = v \ 31
            fDen = v Mod 31 + 1
            If fMes = 3 Then
                If fDen = 31 Then
                    fDen = 1
                    fMes = fMes + 1
                Else
                    fDen = fDen + 1
                End If
            Else
                fDen = fDen + 1
            End If
  
        Return (fMes * 100) + fDen

    End Function 
 

VBNET.CZ | © 2007 Tomáš Herceg, Tomáš Jecha | Kopírování a přejímání jakéhokoliv obsahu z tohoto webu je bez písemného svolení autorů zakázáno.