(PHP 4, PHP 5, PHP 7)
easter_date — Retourne un timestamp UNIX pour Pâques, à minuit pour une année donnée
$year
= date("Y")
] )Retourne un timestamp UNIX pour Pâques, à minuit, pour une année donnée.
Cette fonction génère une alerte si la date tombe hors de la zone de validité des timestamp UNIX (i.e. avant 1970 ou après 2037).
La date de Pâques a été fixée par le concile de Nicée, en 325 de notre ère, comme étant le dimanche après la première pleine lune qui suit l'équinoxe de printemps. L'équinoxe de printemps est considéré comme étant toujours le 21 mars, ce qui réduit le problème au calcul de la date de la lune pleine qui suit, et le dimanche suivant. L'algorithme fut introduit vers 532, par Dionysius Exiguus. Avec le calendrier Julien, (pour les années avant 1753), un cycle de 19 ans suffit pour connaître les dates des phases de la lune. Avec le calendrier grégorien, (à partir des années 1753, conçu par Clavius et Lilius, puis introduit par le pape Grégoire XIII en octobre 1582, et en Grande Bretagne et ses colonies en septembre 1752), deux facteurs de corrections ont été ajoutés pour rendre le cycle plus précis.
year
L'année, sous la forme d'un nombre compris entre 1970 et 2037. Si omis, la valeur par défaut sera l'année courante suivant l'heure locale.
La date pour Pâques, sous la forme d'un timestamp unix.
Exemple #1 Exemple avec easter_date()
<?php
echo date("M-d-Y", easter_date(1999)); // Apr-04-1999
echo date("M-d-Y", easter_date(2000)); // Apr-23-2000
echo date("M-d-Y", easter_date(2001)); // Apr-15-2001
?>
Note:
La fonction easter_date() reprose sur les fonctions de la bibliothèque C time du système, plutôt que sur les fonctions date et time internes de PHP. Aussi, la fonction easter_date() utilise la variable d'environnement TZ pour déterminer le fuseau horaire à utiliser, plutôt que le fuseau horaire par défaut de PHP, ce qui peut conduire à un comportement non désiré lors de l'utilisation de cette fonction avec d'autres fonctions date de PHP.
Comme contournement, vous pouvez utiliser la fonction easter_days() avec les classes DateTime et DateInterval pour calculer le jour de Pâques dans votre fuseau horaire PHP, comme ceci :
<?php
function get_easter_datetime($year) {
$base = new DateTime("$year-03-21");
$days = easter_days($year);
return $base->add(new DateInterval("P{$days}D"));
}
foreach (range(2012, 2015) as $year) {
printf("Pâques, en %d, tombe le %s\n",
$year,
get_easter_datetime($year)->format('d F'));
}
?>L'exemple ci-dessus va afficher :
Pâques, en 2012, tombe le 08 Avril Pâques, en 2013, tombe le 31 Mars Pâques, en 2014, tombe le 20 Avril Pâques, en 2015, tombe le 05 Avril