Checking For Leap Year Using PHP
One part of programming that seems pretty static is dealing with dates. The calendar is a set system of rules that doesn't look to change. The only part of the calendar that can be variable is a leap year, which changes every four years (obviously).
Using pure PHP ternary logic, much like the PHP Function - Calculating Days In A Month, I posted a few weeks back, you can check to see if a year is a leap year.
The Code
function is_leap_year($year) {
return ((($year % 4) == 0) && ((($year % 100) != 0) || (($year % 400) == 0)));
}
![Creating Scrolling Parallax Effects with CSS]()
Introduction
For quite a long time now websites with the so called "parallax" effect have been really popular.
In case you have not heard of this effect, it basically includes different layers of images that are moving in different directions or with different speed. This leads to a...
![Designing for Simplicity]()
Before we get started, it's worth me spending a brief moment introducing myself to you. My name is Mark (or @integralist if Twitter happens to be your communication tool of choice) and I currently work for BBC News in London England as a principal engineer/tech...
![Page Peel Effect Using MooTools]()
![MooTools CountDown Plugin]()
There are numerous websites around the internet, RapidShare for example, that make you wait an allotted amount of time before presenting you with your reward. Using MooTools, I've created a CountDown plugin that allows you to easily implement a similar system.
The MooTools JavaScript
The CountDown class...
Placing a function call as an argument default will result in a fatal error. Also, give this version a shot:
function is_leap_year( $year = NULL ) { if_numeric( $year ) || $year = date( 'Y' ); return checkdate( 2, 29, ( int ) $year ); }Whoops, small typo… if_numeric( $year ) should be is_numeric( $year )… :x
Better yet, use
date('L')which returns1if it’s a leap year,0if it isn’t.I do agree with tamlyn, why you dont use date function??
It can makes a load fasting right?
date(‘L’) is way better because leap year is not every 4 years.
Date("L")only tell you in a given year, default is the year today.If you need to know whether previous or next year is a leap, you must reset the date.
It could affect the system.
Indra, you can always pass the timestamp as second parameter to date function:
echo date('L', mktime(1, 1, 1, 1, 1, 2005));I think this is a better example relating to the function. Also provided example for anyone looking for true/false as I was in this instance.
/* for true or false */ function is_leap_year($year) { return ( date ('L', mktime(1,1,1,1,1, $year) ) === 1 ) ? true : false; } /*for 0 or 1 Whether it's a leap year: 1 if it is a leap year, 0 otherwise. */ function is_leap_year($year) { return date ('L', mktime(1,1,1,1,1, $year) ); }<?php $day = ""; for($i=0; $i<4; $i++) { $day = date("d", mktime(0, 0, 0, 2, 29, date("Y")+$i)); if($day == 29) { $year = date("Y")+$i; break; } } echo "The next leap year is 29th February $year"; ?>code of Habibur Rahaman will not work for example for the year 1897, because 1900 is not leap year.