当前位置 博文首页 > 文章内容

    PHP巧用date()函数计算闰年,打印21世纪的所有闰年

    作者:shunshunshun18 栏目:未分类 时间:2021-08-13 10:43:34

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    在上一篇文章《》中,我们介绍了一种判断给定年份是不是闰年的方法。这次我们介绍另一种判断年份是否为闰年的方法。

    上文中我们介绍了判断闰年的一种通用算法,可以运用在其他语言中;本文给大家介绍一种PHP特有的方法,我们利用内置函数date()来判断闰年,然后找出21世纪的所有闰年并打印出来。

    思想:

    • 闰年的2月有29天,我们可以利用这个特性,使用date()获取给定年份$year中2月所包含的天数,判断该天数是否为29天,这样就可以判断给定年份$year是否为闰年了。

    • 使用for循环给出21世纪的所有年份(2001年~2100年),然后使用上面的方法一一判断是否为闰年,将符合要求(是闰年)的年份输出。

    实现方法:

    <?php
    header("Content-type:text/html;charset=utf-8");
    for($year = 1901; $year <= 2000; $year++){
    	$time = strtotime("{$year}-02"); //取得一个日期的 Unix 时间戳;
    	if (date("t",$time)==29){ //格式化时间,并且判断2月是否是29天;
    		 echo $year."是闰年!<br>"; //是29天就输出时闰年;
    	}
    }
    ?>

    我们来看看输出结果:

    2.png

    OK,实现了!上例中,strtotime("{$year}-02")语句是将“xxxx-02”格式的日期转化为Unix 时间戳;然后就可使用date("t",$time)语句来获取$year年2月所包含的天数了,使用if语句判断该天数是否等于29天,即可判断$year是否为闰年。

    date()函数的“t”字符参数可以用来获取给定月份中包含的天数,该函数中内置了许多这样用来控制输出日期字符串格式的字符。其实有一个字符“L”就可以用来判断是否是闰年(如果是闰年则为 1,否则为 0)。

    因此使用date()函数也可以这样打印21世纪的所有闰年

    <?php
    header("Content-type:text/html;charset=utf-8");
    for($year = 1901; $year <= 2000; $year++){
    	$time = strtotime("{$year}-02");
    	if (date("L",$time)){
    		   echo $year."是闰年<br>";
    	}
    }
    ?>

    我们来看看输出结果:

    3.png

    好了,今天就说到这里了,有其他想知道的,可以点击这个哦。→ →