Aller au contenu

easter_date()

Introduction

À l'approche de Pâques, il est important de comprendre comment calculer la date de cette fête de manière programmée. En PHP moderne, la méthode recommandée pour déterminer le dimanche de Pâques consiste à utiliser la classe DateTime. Cet article explique la méthodologie de calcul et fournit des instructions étape par étape pour les implémentations PHP actuelles et héritées.

Histoire de Pâques

La date de Pâques est basée sur un calendrier luni-solaire et est calculée à l'aide de règles astronomiques et mathématiques. Historiquement, ce calcul a été formalisé par le concile de Nicée en 325 après J.-C. afin de standardiser la fête à travers différentes régions.

Calcul de la date de Pâques

La date de Pâques est déterminée en calculant le premier dimanche suivant la première pleine lune qui se produit le jour de l'équinoxe de printemps (le premier jour du printemps) ou après celui-ci. Cette méthode de calcul a été établie par le concile de Nicée en 325 après J.-C.

En PHP, vous pouvez implémenter ce calcul à l'aide de fonctions de date intégrées. Voici les approches recommandées et héritées :

Approche recommandée (PHP 5.3+) Utilisez la classe DateTime avec le modificateur Easter Sunday. Elle gère les calculs lunaires complexes en interne et respecte les paramètres de fuseau horaire.

  • Signature : new DateTime(string $datetime = "now", ?DateTimeZone $timezone = null)
  • Paramètres : Transmettez "Easter Sunday YYYY" (par ex. "Easter Sunday 2023"). Transmettez éventuellement un objet DateTimeZone.
  • Valeur de retour : Un objet DateTime représentant le dimanche de Pâques à 00:00:00.
  • Fuseau horaire : Respecte le fuseau horaire fourni ou le fuseau horaire par défaut du serveur.

Fonction héritée : easter_date() (Dépréciée/Supprimée)

⚠️ Important : La fonction easter_date() a été dépréciée dans PHP 8.1 et supprimée dans PHP 8.2. Elle n'est plus disponible dans les environnements PHP modernes. Utilisez plutôt l'approche DateTime ci-dessus.

Historiquement, PHP fournissait la fonction easter_date() pour calculer Pâques.

  • Signature : easter_date(int $timestamp = time()): int
  • Paramètres : Un timestamp Unix représentant l'année pour laquelle calculer Pâques.
  • Valeur de retour : Timestamp Unix correspondant au dimanche de Pâques de cette année.
  • Fuseau horaire : S'appuie sur date_default_timezone_set() et n'accepte pas d'arguments de fuseau horaire personnalisés.

Exemples de code

Exemple moderne (recommandé)

php
<?php

$year = 2023;
$easter = new DateTime("Easter Sunday $year");
echo $easter->format('F j, Y'); // Outputs: April 9, 2023

Exemple hérité (uniquement PHP 8.1 et antérieur)

php
<?php

$year = 2023;
$easter_date = easter_date(mktime(0, 0, 0, 1, 1, $year));
echo date('F j, Y', $easter_date);

Ce code affichera la date du dimanche de Pâques en 2023 : 9 avril 2023.

Conclusion

En conclusion, comprendre comment calculer les dates de Pâques de manière programmée est utile pour les applications de calendrier et la planification des fêtes. Pour les versions actuelles de PHP, privilégiez toujours la classe DateTime avec le modificateur Easter Sunday pour des résultats fiables et sensibles au fuseau horaire. La fonction héritée easter_date() ne doit être utilisée que lors de la maintenance de bases de code héritées fonctionnant sous PHP 8.1 ou une version antérieure.

Pratique

Que retourne la fonction easter_date() en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.