Updated March 21, 2023
Introduction to Calendar in PHP
PHP Calendar Function is all about playing with the calendar-related functions. There are various built-in functions we must use in PHP which enables the ability to easily perform the various calendar-related tasks. This calendar is very useful when we deal with the events, bookings or any kind of appointments in any web application. Creating a calendar in the PHP is a bit harder as compared to the calendar using the jQuery. It is very simple to use the jQuery calendar.
Syntax
The syntax of consuming the calendar feature is not just limited to a line of code. There are various functions together to make a calendar running functional. There are various calendar classes and the library available, we can use in our PHP application if we want to use the PHP version. Creating our own with the full-featured functionality will take a longer time than expected.
For example: If we want the number of days in a specified month and the year, we have to use the cal_days_in_month(param1, param2, param2) function. Where param1 is a type of calendar, param2 is the month number and the param3 is the year for which we want the number of days.
cal_from_jd(param1, param2) function can Converts from Julian Day Count to a calendar with all its details. Where param1 is the Julian Day and the param2 is a type of calendar.
PHP Calendar Function with Example
There are various calendar built-in functions, we will see various examples in the example section. There are functions like:
Example #1
cal_days_in_month function: This function will give us the number of days in the given month and the year.
Code:
<?php
// to get the number of days in a calendar month
$varDays = cal_days_in_month(CAL_GREGORIAN,2,2019);
echo $varDays ." days in February 2019.";
echo "\n";
$varDays = cal_days_in_month(CAL_GREGORIAN,4,2018);
echo $varDays ." days in April 2018.";
?>
Output:
Example #2
cal_from_jd: This function can be used to convert the calendar from Julian day count to the supported calendar. In the same way, we have a function cal_to_jd() to convert the calendar to the Julian Day Count. Let’s understand the same with an example.
Code:
<?php
// to get the calendar details of the current date
$current_timestamp = time(); // current timestamp
$unix_jd_time = unixtojd($current_timestamp);
print_r(cal_from_jd($unix_jd_time, CAL_GREGORIAN));
?>
Output:
Example #3
cal_info: we can use this function in PHP to get detailed information about a calendar. It takes one parameter as an integer. This is a single optional parameter. We need to worry about passing the parameter. Let’s see the same with an example program.
Code:
<?php
// to get the calendar info
$info = cal_info(0); // if we not pass any valid param then it will gives all calendar details
print_r($info);
?>
Output:
unixtojd: this function can be used to convert the timestamp to Julian Day Count. We have seen in the earlier example. This function takes a parameter in the form of a timestamp.
There are various other functions we can use in PHP to enjoy the full-featured calendar.
How to Make a Calendar?
In PHP we have various types of calendars, like Gregorian, Julian, Jewish, and French, etc. In this section, we will see how can we create a current month calendar using it. Without using the date and time function playing with the Calendar is almost impossible.
<?php
function showCurrentMonth($current_Month, $year)
{
$date = mktime(12, 0, 0, $current_Month, 1, $year);
$numberOfDays =cal_days_in_month(CAL_GREGORIAN,$current_Month, $year);
$offset = date("w", $date);
$row_number = 1;
// time to draw the month header
echo "<table style='color:blue; border:1px solid blue; width:500px; height:300px;'><br/>";
echo "<tr><td>Sun</td><td>Mon</td><td>Tue</td><td>Wed</td><td>Thu</td><td>Fri</td><td>Sat</td></tr> <tr>";
// this will print the additional td record in case the month is not starting with the Sunday.
for($i = 1; $i <= $offset; $i++)
{
echo "<td></td>";
}
// this will print the number of days.
for($day = 1; $day <= $numberOfDays; $day++)
{
if( ($day + $offset - 1) % 7 == 0 && $day != 1)
{
echo "</tr> <tr>";
$row_number++;
}
echo "<td>" . $day . "</td>";
}
while( ($day + $offset) <= $row_number * 7)
{
echo "<td></td>";
$day++;
}
echo "</tr></table>";
}
?>
<html>
<head>
<title>Calendar of the current month (Dec 2019)</title>
</head>
<body>
<p>Calendar of the Dec 2019</p>
<?php
// Dec 2019 in PHP
showCurrentMonth(11, 2019);
?>
</body>
</html>
Explanation to the above code: As in the above code, we can see the function to generate the calendar of any given month of a year. We can generate any number of calendar month as per the business requirements.
Output:
Conclusion
It is required where the dynamic date and time are coming again and again. We can use the jQuery UI calendar as well in the PHP. So, at per the deadline and the business need we can move ahead with the jQuery calendar in the PHP application as well. Most of the developer prefers to use the jQuery UI calendar features above the PHP calendar. PHP takes more time comparatively.
Recommended Articles
This is a guide to the Calendar in PHP. Here we discuss PHP Calendar Function with Example and create a month’s calendar using the PHP calendar. You may also look at the following articles to learn more –