*--------------------------------------------------------------- * FUNCTION _Pascua(tnAnio) *--------------------------------------------------------------- * USE: _Pascua(1999) * PARAMETRO: Año a calcular * RETORNO: Fecha del Domingo de Pascua *--------------------------------------------------------------- FUNCTION _Pascua(tnAnio) LOCAL lnCentena, lnAux, lnNroAureo, lnDomingo, lnEpactaJul, ; lnCorrSolar, lnCorrLunar, lnEpactaGreg, lnDiasLunaP, ; lnDiasLuna15, lnDiasPascua, ldFecIni, ldFecPascua IF NOT BETWEEN(tnAnio,1000,9999) MESSAGEBOX("Rango inválido [1000..9999]") RETURN {//} ENDIF lnCentena = INT(tnAnio / 100) lnAux = (tnAnio + 1) % 19 lnNroAureo = lnAux + (19 * INT((19 - lnAux) / 19)) lnDomingo = 7 + (1 - tnAnio - INT(tnAnio / 4) + lnCentena - INT(lnCentena / 4)) % 7 lnEpactaJul = ((11 * lnNroAureo) - 10) % 30 lnCorrSolar = - (lnCentena - 16) + INT((lnCentena- 16) / 4) lnCorrLunar = INT((lnCentena - 15 - INT((lnCentena - 17) / 25)) / 3) lnEpactaGreg = (30 + lnEpactaJul + lnCorrSolar + lnCorrLunar) % 30 lnDiasLunaP = 24 - lnEpactaGreg + (30 * INT(lnEpactaGreg / 24)) lnDiasLuna15 = (27 - lnEpactaGreg + (30 * INT(lnEpactaGreg / 24))) % 7 lnDiasPascua = lnDiasLunaP + (7 + lnDomingo - lnDiasLuna15) % 7 ldFecIni = DATE(tnAnio, 03, 21) ldFecPascua = ldFecIni + lnDiasPascua RETURN ldFecPascua ENDFUNC
29 de abril de 2000
Calcular el domingo de pascua de un año
Con esta función podemos conocer la fecha del Domingo de Pascua de cualquier año.
Suscribirse a:
Comentarios de la entrada
(
Atom
)
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.