亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    怎么通過PHP判斷指定月份共有幾天

    在上一篇文章《php循環(huán)學(xué)習(xí)十:判定水仙花數(shù),打印全部水仙花數(shù)》中,我們介紹了判定水仙花數(shù),并使用for循環(huán)輸出全部水仙花數(shù)的方法。這次我們來看看日期時間,介紹一下使用PHP怎么獲得某年、某月的最大天數(shù)。

    本文的主題是:給定一個年份和月份,判斷該月份共有幾天。

    我們都知道一年月份的最大天數(shù)分4種情況:

    • 大月:31天;

    • 小月:30天;

    • 閏年2月:29天

    • 平年2月:28天

    而每年固定1、3、5、7、8、10、12月份為大月,而4、6、9、11月份為小月。

    所以我們可以使用選擇控制語句switch case來進行一個判斷選擇:

    當(dāng)月份$month為1、3、5、7、8、10、12則輸出31;當(dāng)$month為4、6、9、11則輸出30。代碼可以這樣寫:

    switch($month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: 	echo "$month 月共有31天";break; case 4: case 6: case 9: case 11: 	echo "$month 月共有30天";break; }

    測試一下:

    當(dāng)$month=1,則會輸出:

    怎么通過PHP判斷指定月份共有幾天

    當(dāng)$month=4,則會輸出:

    怎么通過PHP判斷指定月份共有幾天

    說明:switch 語句會根據(jù)表達式的值,依次與 case 中的值進行比較,如果不相等,繼續(xù)查找下一個 case;如果相等,就會執(zhí)行對應(yīng)的語句,直到 switch 語句結(jié)束或遇到 break 為止。

    OK,大月和小月的判斷還是很簡單的,就剩下一個2月了,計算2月的天數(shù),首先需要判斷該年是不是閏年。我們可以使用下面一個函數(shù)來實現(xiàn):(具體可以閱讀文章《PHP如何輸出20世紀的所有閏年》)

    function IsLeapYear($year){    return ($year % 400 == 0 || $year % 4 == 0 && $year % 100 != 0); }

    如果給定年份是閏年則會返回true或1,如果不是閏年(是平年)則返回false或0。

    然后在switch case語句中調(diào)用IsLeapYear($year)函數(shù)來進行判斷:

    case 2: 	echo IsLeapYear($year)? "$month 月共有29天" : "$month 月共有28天";break;

    三元運算符

    表達式1?表達式2:表達式3

    表示:如果條件“表達式1”成立,則執(zhí)行語句“表達式2”,否則執(zhí)行“表達式3”。

    我們還可以加一個default分支,用來在用戶輸入除1~12月份的數(shù)時,進行提醒:

    default:echo '輸入錯誤,請輸入1-12之間的數(shù)';break;

    好了,將上面的代碼封裝為一個功能函數(shù):

    function IsLeapYear($year){    return ($year % 400 == 0 || $year % 4 == 0 && $year % 100 != 0); } function GetMaxDay($year,$month) { 	switch($month){ 	case 1: 	case 3: 	case 5: 	case 7: 	case 8: 	case 10: 	case 12: 		echo "$year 年 $month 月共有31天<br>";break; 	case 4: 	case 6: 	case 9: 	case 11: 		echo "$year 年 $month 月共有30天<br>";break; 	case 2: 		echo IsLeapYear($year)? "$year 年  $month 月共有29天<br>" : "$year 年  $month 月共有28天<br>";break; 	default:echo '輸入錯誤,請輸入1-12之間的數(shù)<br>';break; 	} }

    調(diào)用GetMaxDay($year,$month)函數(shù):

    GetMaxDay(2000,2); GetMaxDay(2001,2); GetMaxDay(2001,3); GetMaxDay(2001,4);

    我們來看看輸出結(jié)果:

    怎么通過PHP判斷指定月份共有幾天

    可以看出,因為2000年是閏年,所以2月共有29天;2001年是平年,所以2月共有29天。而3月是大月,所以有31天;4月是小月,所以有30天。

    好了就說到這里了,有其他想知道的,可以點擊這個哦。→ →php視頻教程

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號