In molti progetti gestionali o calendari digitali può essere utile calcolare automaticamente il giorno della Pasqua, che varia ogni anno. Questo articolo presenta un codice PHP semplice e funzionante, pensato per chi vuole integrare questa funzione nel proprio sito web senza dipendere da librerie esterne.
function CalcEaster($aa, $mm, $gg)
{
$gm = Array(22, 22, 23, 23, 24, 24);
$da = Array(2, 2, 3, 4, 5, 5);
$a = $aa % 19;
$b = $aa % 4;
$c = $aa % 7;
$i = floor($aa / 100) - 15;
$d = (19 * $a + $gm[$i]) % 30;
$e = (2 * $b + 4 * $c + 6 * $d + $da[$i]) % 7;
$gg = 22 + $d + $e;
$mm = 3;
if ($gg > 31)
{
$mm = 4;
$gg -= 31;
}
}
$easter = "";
$year = $_REQUEST['year'];
if (strlen($year) <= 0)
{
$year = "";
}
else
{
if (is_numeric($year))
{
$dp = "";
$mp = "";
CalcEaster($year, $mp, $dp);
$easter = $dp;
$easter .= " ";
switch ($mp)
{
case 1:
$easter .= "Gennaio ";
break;
case 2:
$easter .= "Febbraio ";
break;
case 3:
$easter .= "Marzo ";
break;
case 4:
$easter .= "Aprile ";
break;
case 5:
$easter .= "Maggio ";
break;
case 6:
$easter .= "Giugno ";
break;
case 7:
$easter .= "Luglio ";
break;
case 8:
$easter .= "Agosto ";
break;
case 9:
$easter .= "Settembre ";
break;
case 10:
$easter .= "Ottobre ";
break;
case 11:
$easter .= "Novembre ";
break;
case 12:
$easter .= "Dicembre ";
break;
}
$easter .= $year;
}
}
Breve storia del calcolo della Pasqua
La determinazione della data della Pasqua cristiana ha origini antiche e complesse. Già nel IV secolo, il Concilio di Nicea (325 d.C.) stabilì che la Pasqua dovesse essere celebrata la prima domenica dopo il primo plenilunio successivo all’equinozio di primavera, fissato convenzionalmente al 21 marzo.
Sebbene il criterio si basi su eventi astronomici, nel tempo è stato tradotto in formule matematiche che consentono di calcolare la data della Pasqua in modo automatico. Nel corso dei secoli, studiosi hanno proposto diversi algoritmi. Tra questi, Carl Friedrich Gauss ha ideato una soluzione elegante e precisa. Il suo metodo è tuttora valido per il calendario gregoriano.
Il codice PHP presentato in questo articolo si basa proprio su una variante moderna dell’algoritmo di Gauss, adattata per essere facilmente integrata in applicazioni web e gestionali.



Giampaolo sto usando questo algoritmo (tradotto in Basic AppGameKit di TheGamesCreator) per un’app di preghiere e novene da distribuire assolutamente gratis sul Play Store onde evitare che qualcuno possa pensare che ci voglia lucrare. Ti posso citare nei credit? Posso mettere anche il tuo sito web?