下面列出了几种利用php脚本来判断指定年份是不是闰年的方法,大家参考一下吧。

PHP判断是否为闰年的方法

方法1

php利用二月份的天数来判断是不是闰年,闰年的二月份的天的天数为 29,如果 php 获取到指定年份二月的天数为 29 则为闰年。

例:

/**
 * @param int $y 输入要判断的年份
 * @ http://www.feiniaomy.com
 * 
 * @return bool TRUE 为闰年 FALSE 不是闰年 
 */
function f($y)
{
    $time = strtotime($y.'-02');
    if(date('t',$time) == 29 ){
        return true;
    }
    return false;
}
var_dump(f(2022));
//false
var_dump(f(2018));
//false
var_dump(f(2020));
//true

方法2:

(1)、普通年能被4整除而不能被100整除的为闰年。 

(2)、世纪年能被400整除而不能被3200整除的为闰年。

例:

/**
 * @param int $y 输入要判断的年份
 * @ http://www.feiniaomy.com
 * 
 * @return bool TRUE 为闰年 FALSE 不是闰年 
 */
function f($y)
{
    if($y%100 == 0){//判断世纪年
        if ($y%400 == 0 && $y%3200 != 0){
            return true;
        }else{
            return false;
        }
    }
    //按普通年处理
    if($y%4 == 0 && $y%100 != 0){
        return true;
    }
    return false;
}
var_dump(f(2022));
// false
var_dump(f(2018));
// false
var_dump(f(2020));
// true

方法3:

使用 php date() 日期函数,即可非常的简单!

function f($y)
{
    $time = mktime(20,20,20,4,20,$y);
    if(date("L",$time)){
        return true;
    }
    return false;
}
var_dump(f(2022));
// false
var_dump(f(2018));
// false
var_dump(f(2020));
// true