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 = 2001; $year <= 2100; $year++){
	$time = strtotime("{$year}-02"); //取得一个日期的 Unix 时间戳;
	if (date("t",$time)==29){ //格式化时间,并且判断2月是否是29天;
		 echo $year."是闰年!<br>"; //是29天就输出时闰年;
	}
}
?>

我们来看看输出结果:

0.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 = 2001; $year <= 2100; $year++){
	$time = strtotime("{$year}-02");
	if (date("L",$time)){
		   echo $year."是闰年<br>";
	}
}
?>

我们来看看输出结果:

0-1.png

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

以上就是PHP巧用date()函数计算闰年,打印21世纪的所有闰年的详细内容,更多请关注其它相关文章!