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)));
}
![Write Simple, Elegant and Maintainable Media Queries with Sass]()
I spent a few months experimenting with different approaches for writing simple, elegant and maintainable media queries with Sass. Each solution had something that I really liked, but I couldn't find one that covered everything I needed to do, so I ventured into creating my...
![CSS 3D Folding Animation]()
Google Plus provides loads of inspiration for front-end developers, especially when it comes to the CSS and JavaScript wonders they create. Last year I duplicated their incredible PhotoStack effect with both MooTools and pure CSS; this time I'm going to duplicate...
![JavaScript Speech Recognition]()
Speech recognition software is becoming more and more important; it started (for me) with Siri on iOS, then Amazon's Echo, then my new Apple TV, and so on. Speech recognition is so useful for not just us tech superstars but for people who either want to work "hands...
![Create Your Own Dijit CSS Theme with LESS CSS]()
The Dojo Toolkit seems to just get better and better. One of the new additions in Dojo 1.6 was the use of LESS CSS to create Dijit themes. The move to using LESS is a brilliant one because it makes creating your own Dijit theme...
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.