PHP巧用date()函数计算闰年,打印21世纪的所有闰年
在上一篇文章《PHP如何输出20世纪的所有闰年》中,我们介绍了一种判断给定年份是不是闰年的方法。这次我们介绍另一种判断年份是否为闰年的方法。
上文中我们介绍了判断闰年的一种通用算法,可以运用在其他语言中;本文给大家介绍一种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天就输出时闰年; } } ?>
我们来看看输出结果:
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>"; } } ?>
我们来看看输出结果:
好了,今天就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程