Q:

How to check whether a year is a leap year or not in PHP

belongs to collection: PHP Programming Exercises

0

How to check whether a year is a leap year or not in PHP

In this exercise, you will learn different ways in PHP to check whether a particular year is a Leap Year or not.

A leap year is 366 days old instead of 365 days because February is about 29 days longer than the common 28 days. These extra days occur in years which are multiples of four, i.e., 1992, 1996, 2000, 2004, 2008, 2012.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

These are different ways to find out whether a year is a leap year or not.

Leap Year Program using checkdate() function

The checkdate() function is used to check a valid date in a month and year. It always returns a Boolean value.

Syntax of checkdate() function

bool checkdate(int $month, int $day, int $year);

In the checkdate() function, we have passed '2' in the first parameter, i.e. February month, '29' in the second parameter, i.e. 29 days, and the third parameter, $year is a variable that accepts year.

<?php
function checkLeapYear($year) {
    return checkdate(2, 29, $year);
}
echo checkLeapYear(2016) ? "2016 is a leap year." : "2016 is not a leap year. ";
echo '<br/>';
echo checkLeapYear(2017) ? "2017 is a leap year." : "2017 is not a leap year. ";
?>

Output of the above code

2016 is a leap year.
2017 is not a leap year.

Using Leap Year Logic

Most of us already know the logic to check for a leap year in the Gregorian calendar. These are the three criteria that must be met to identify leap years-

  • The year can be evenly divided by 4,
  • If the year can be evenly divided by 100, it is NOT a leap year, unless;
  • The year is also evenly divisible by 400. Then it is a leap year.

The following code implements this logic -

<?php

// function to test if leap year
function checkLeapYr($year) {
 $ret = (($year%400 == 0) || ($year%4 == 0 && $year%100 != 0)) ? true : false;
 return $ret;
}

echo checkLeapYr(2016) ? "2016 is a leap year." : "2016 is not a leap year. ";
echo '<br/>';
echo checkLeapYr(2017) ? "2017 is a leap year." : "2017 is not a leap year. ";
?>

Output of the above code -

2016 is a leap year.
2017 is not a leap year.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

PHP Programming Exercises

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
Fibonacci Series Program in PHP... >>
<< PHP Create Word Document from HTML...