在上一篇文章《PHP如何輸出20世紀(jì)的所有閏年》中,我們介紹了一種判斷給定年份是不是閏年的方法。這次我們介紹另一種判斷年份是否為閏年的方法。
上文中我們介紹了判斷閏年的一種通用算法,可以運(yùn)用在其他語言中;本文給大家介紹一種PHP特有的方法,我們利用內(nèi)置函數(shù)date()來判斷閏年,然后找出21世紀(jì)的所有閏年并打印出來。
思想:
-
閏年的2月有29天,我們可以利用這個特性,使用date()獲取給定年份$year中2月所包含的天數(shù),判斷該天數(shù)是否為29天,這樣就可以判斷給定年份$year是否為閏年了。
-
使用for循環(huán)給出21世紀(jì)的所有年份(2001年~2100年),然后使用上面的方法一一判斷是否為閏年,將符合要求(是閏年)的年份輸出。
實(shí)現(xiàn)方法:
<?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天就輸出時閏年; } } ?>
我們來看看輸出結(jié)果:
OK,實(shí)現(xiàn)了!上例中,strtotime("{$year}-02")
語句是將“xxxx-02”格式的日期轉(zhuǎn)化為Unix 時間戳;然后就可使用date("t",$time)
語句來獲取$year年2月所包含的天數(shù)了,使用if語句判斷該天數(shù)是否等于29天,即可判斷$year是否為閏年。
date()函數(shù)的“t
”字符參數(shù)可以用來獲取給定月份中包含的天數(shù),該函數(shù)中內(nèi)置了許多這樣用來控制輸出日期字符串格式的字符。其實(shí)有一個字符“L
”就可以用來判斷是否是閏年(如果是閏年則為 1,否則為 0)。
因此使用date()函數(shù)也可以這樣打印21世紀(jì)的所有閏年
<?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>"; } } ?>
我們來看看輸出結(jié)果:
好了,今天就說到這里了,有其他想知道的,可以點(diǎn)擊這個哦。→ →php視頻教程