Calcolare la data di pasqua dall’anno

Calcolare la data di pasqua dall’anno

0
0

ciao  a tutti ho trovato  questa formula in Excel    che pesca l’anno nella data nella cella   A1  e calcola in automatico   la pasqua

=ARROTONDA.DIFETTO.MAT(DATA(A1;5;GIORNO(MINUTO(A1/38)/2+56));7)-34

come posso convertila in Filemaker  , versione Windows ?

Grazie

Segnalato come spam
Pubblicata da (Domande: 3, Risposte: 3)
Domanda inviata 10 Dicembre 2020 20:32
668 vis.
0
Domanda privata

perché il 1582 è l'anno in cui il calendario gregoriano ha sostituito il precedente calendario Giuliano, sfalzato - appunto -  di 10 giorni :)

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 13 Dicembre 2020 19:41
0
Domanda privata

Ciao ,che dirti ,una risposta da professionista !   

ho studiato la formula che comunque non da errori anche inserendo date  oltre 3036 . 

Sarà sircuramente di spunto per altri esperimenti  .  Una curiosità , perchè questo passaggio , con questo anno ?

 If(theYear <= 1582; 10; 0);  

in excel dopo il 2047 iniziava a calcolare male la data .   

 

Grazie 

Segnalata come spam
Pubblicata da (Domande: 3, Risposte: 3)
Risposta inviata 13 Dicembre 2020 14:51
0
Domanda privata

Buongiorno, Roberto.

mi permetto di suggerirti un calcolo alternativo:

Dichiara ( 

[

theYear= iltuoanno;

theDay = (Modulo((Modulo(19 * Modulo(theYear ; 19) +  Intero(theYear / 100)  -  Intero(Intero(theYear / 100) / 4) - Intero((Intero(theYear / 100)  -  Intero((Intero(theYear / 100) + 8 ) / 25)  +  1) / 3) + 15; 30) + Modulo(32 + 2 * Modulo(Intero(theYear / 100) ; 4) + 2 * Intero(Modulo(theYear ; 100) / 4) - Modulo(19 * Modulo(theYear ; 19) +  Intero(theYear / 100)  -  Intero(Intero(theYear / 100) / 4) - Intero((Intero(theYear / 100)  -  Intero((Intero(theYear / 100) + 8 ) / 25)  +  1) / 3) + 15; 30) - Modulo(Modulo(theYear ; 100) ; 4); 7) - 7 * (Intero( (Modulo(theYear ; 19) + 11 * (Modulo(19 * Modulo(theYear ; 19) +  Intero(theYear / 100)  -  Intero(Intero(theYear / 100) / 4) - Intero((Intero(theYear / 100)  -  Intero((Intero(theYear / 100) + 8 ) / 25)  +  1) / 3) + 15; 30)) + 22 * (Modulo(32 + 2 * Modulo(Intero(theYear / 100) ; 4) + 2 * Intero(Modulo(theYear ; 100) / 4) - Modulo(19 * Modulo(theYear ; 19) +  Intero(theYear / 100)  -  Intero(Intero(theYear / 100) / 4) - Intero((Intero(theYear / 100)  -  Intero((Intero(theYear / 100) + 8 ) / 25)  +  1) / 3) + 15; 30) - Modulo(Modulo(theYear ; 100) ; 4); 7))) / 451 )) + 114 ) ; 31 ) + 1) - If(theYear <= 1582; 10; 0); 

 

theMonth = Intero((Modulo(19 * Modulo(theYear ; 19) +  Intero(theYear / 100)  -  Intero(Intero(theYear / 100) / 4) - Intero((Intero(theYear / 100)  -  Intero((Intero(theYear / 100) + 8 ) / 25)  +  1) / 3) + 15; 30) + Modulo(32 + 2 * Modulo(Intero(theYear / 100) ; 4) + 2 * Intero(Modulo(theYear ; 100) / 4) - Modulo(19 * Modulo(theYear ; 19) +  Intero(theYear / 100)  -  Intero(Intero(theYear / 100) / 4) - Intero((Intero(theYear / 100)  -  Intero((Intero(theYear / 100) + 8 ) / 25)  +  1) / 3) + 15; 30) - Modulo(Modulo(theYear ; 100) ; 4); 7) - 7 * (Intero( (Modulo(theYear ; 19) + 11 * (Modulo(19 * Modulo(theYear ; 19) +  Intero(theYear / 100)  -  Intero(Intero(theYear / 100) / 4) - Intero((Intero(theYear / 100)  -  Intero((Intero(theYear / 100) + 8 ) / 25)  +  1) / 3) + 15; 30)) + 22 * (Modulo(32 + 2 * Modulo(Intero(theYear / 100) ; 4) + 2 * Intero(Modulo(theYear ; 100) / 4) - Modulo(19 * Modulo(theYear ; 19) +  Intero(theYear / 100)  -  Intero(Intero(theYear / 100) / 4) - Intero((Intero(theYear / 100)  -  Intero((Intero(theYear / 100) + 8 ) / 25)  +  1) / 3) + 15; 30) - Modulo(Modulo(theYear ; 100) ; 4); 7))) / 451 )) + 114 ) / 31 ) 

];

 

Data(theMonth; theDay; theYear )

 

)

 

facci sapere.

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 10 Dicembre 2020 23:29