Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PHP - Calendar easter_date() Function



The PHP Calendar easter_date() function is used to the Unix timestamp corresponding to midnight on Easter of the given year. A ValueError is thrown if the year is before 1970 or after 2037 on a 32-bit system, or after 2,000,000,000 on a 64-bit system.

Syntax

Below is the syntax of the PHP Calendar easter_date() function −

int easter_date ( int $year = null, int $mode = CAL_EASTER_DEFAULT )

Parameters

Below are the parameters of the easter_date() function −

  • $year − It is the year must fall between 1970 and 2037 for 32-bit systems, or 1970 and 2,000,000,000 for 64-bit systems. If not specified or null, it defaults to the current year as of local time.

  • $mode − It is an option. Easter dates can be calculated using the Julian calendar when the CAL_EASTER_ALWAYS_JULIAN option is selected.

Return Value

The easter_date() function returns Unix timestamp corresponding to midnight on Easter of the given year.

PHP Version

First introduced in core PHP 4, the easter_date() function continues to function easily in PHP 5, PHP 7, and PHP 8.

Example 1

Here we will show you the basic example of the PHP Calendar easter_date() function to find the date of Easter dates for the specified years.

<?php
   // Calculate and display the Easter date for 1995
   echo date("M-d-Y", easter_date(1995)) . "\n"; 
   
   // Calculate and display the Easter date for 2015
   echo date("M-d-Y", easter_date(2015)) . "\n"; 
   
   // Calculate and display the Easter date for 2024
   echo date("M-d-Y", easter_date(2024)) . "\n"; 
?>

Output

Here is the outcome of the following code −

Apr-15-1995
Apr-04-2015
Mar-30-2024

Example 2

In the below PHP example we will use the easter_date() function and calculate the easter date of the current year and display it to the console.

<?php
   // Calculate the easter date of the current year
   $easter = easter_date();

   // Display the Easter date for 1995
   echo "Easter Date for the current year: ".date("Y-m-d", $easter);
?> 

Output

This will generate the below output −

Easter Date for the current year: 2024-03-31

Example 3

Now the below code calculates the easter date for the year 2023. And then it generates a new DateTime object and sets the timestamp to the calculated Easter date. In the end, it formats and shows the date as "Month-Day-Year".

<?php
   // Calculate the Easter date for 2023
   $timestamp = easter_date(2023);
   
   $datetime = new \DateTime();
   $datetime->setTimestamp($timestamp);
   
   echo $datetime->format('M-d-Y'); 
?> 

Output

This will create the below output −

Apr-08-2023

Example 4

In the following example, we will create a function to calculate the exact date of Easter Sunday for a given years. Adn calculate the easter days for the given years using a loop and easter_date() function.

<?php
   // Function to calculate the exact date of Easter Sunday
   function calculateEasterDate($year) {

      // Set the base date to March 21 of the given year
      $march21 = new DateTime("$year-03-21");
   
      // Calculate the number of days
      $daysToAdd = easter_days($year);
   
      // Add the calculated number of days to March 21 
      return $march21->add(new DateInterval("P{$daysToAdd}D"));
   }
   
   // Loop over the years 2012 to 2015
   foreach (range(2020, 2024) as $currentYear) {
      
      // Print the year and the related Easter Sunday date in "Month Day" format
      printf("Easter Date in %d is on %s\n", $currentYear, calculateEasterDate($currentYear)->format('F j'));
   }
?> 

Output

Following is the output of the above code −

Easter Date in 2020 is on April 12
Easter Date in 2021 is on April 4
Easter Date in 2022 is on April 17
Easter Date in 2023 is on April 9
Easter Date in 2024 is on March 31
php_function_reference.htm
Advertisements