PHP - Calender cal_days_in_month() Function



The PHP Calendar cal_days_in_month() function is used to find the number of days in the month of year for the specified calendar. This function is very helpful when you want to know how many days are there in a month, or when you want to validate dates or working with Calendars.

Syntax

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

int cal_days_in_month (int $calendar, int $month, int $year)

Parameters

Below are the parameters of the cal_days_in_month() function −

  • $calendar − It is the calendar to use.

  • $month − It is the month as a number like 1 for January, 2 for February, etc.

  • $year − It is the year as a four digit number for example 2024.

PHP supports multiple calendar types −

  • CAL_GREGORIAN − Gregorian calendar (the default).

  • CAL_JULIAN − Julian calendar.

  • CAL_JEWISH − Jewish calendar.

  • CAL_FRENCH − French Revolutionary calendar.

Return Value

The cal_days_in_month() function returns an integer showing the number of days in the given month and year, calculated using the given calendar.

PHP Version

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

Example 1

First we will show you the basic example of the PHP Calendar cal_days_in_month() function to find the number of days in February 2024 in the calendar. Here we are using CAL_GREGORIAN constant to specify the calender.

<?php
   // Calculate the days in the leap year
   $days = cal_days_in_month(CAL_GREGORIAN, 2, 2024);

   // Display the result
   echo "The February month of 2024 has $days days.";
?>

Output

The code calculates days in February as 2024 is a leap year so it will return 29 days. Here is the outcome of the following code −

The February month of 2024 has 29 days.

Example 2

This code will use the cal_days_in_month() function and uses the Gregorian calendar to find the number of days in February 2023, a non-leap year.

<?php
   // Calculate the days in the non-leap year
   $days = cal_days_in_month(CAL_GREGORIAN, 2, 2023);

   // Display the result
   echo "The February month of 2023 has $days days.";
?> 

Output

The above code checks the number of days in a non leap year. So this will generate the below output −

The February month of 2023 has 28 days.

Example 3

This example uses the Julian calendar to find the number of days in March 2022 using the cal_days_in_month() function.

<?php
   // Calculate the days in the month of Julian calendar
   $days = cal_days_in_month(CAL_JULIAN, 3, 2022);

   // Display the result
   echo "March 2022 (Julian) has $days days.";
?> 

Output

This will create the below output for Julian Calendar −

March 2022 (Julian) has 31 days.

Example 4

In the following example, we are using the cal_days_in_month() function to find the number of days in the Jewish calendar by using the CAL_JEWISH constant.

<?php
   // Calculate the days in the month of Jewish calendar
   $days = cal_days_in_month(CAL_JEWISH, 1, 5784);

   // Display the result
   echo "Nisan 5784 (Jewish) has $days days.";
?> 

Output

Following is the output of the above code −

Nisan 5784 (Jewish) has 30 days.
php_function_reference.htm
Advertisements