站長資訊網
        最全最豐富的資訊網站

        PHP如何利用函數來計算給定年月的最大天數

        在上一篇文章《怎么通過PHP判斷指定月份共有幾天》中,我們介紹了使用switch case語句分情況獲取某年某月最大天數的方法;在switch case語句中,對于2月,還需要先判斷該年是不是閏年,才可獲取最大天數,這有點麻煩!

        那么如何簡潔高效的計算給定月份共有幾天,獲取某年、某月的最大天數呢?其實PHP內置的date() 函數就可以解決這個問題!

        date() 函數可以將指定Unix 時間戳格式化為本地日期和時間,只需要設置輸出格式為“t”,即可返回給定月份中包含的天數。

        我們來試試:

        <?php header("Content-type:text/html;charset=utf-8"); $time="2000-2"; $date=date("t",$time); echo "$time 月共有 $date 天<br>"; ?>

        看看輸出結果:

        PHP如何利用函數來計算給定年月的最大天數

        報錯且輸出的最大天數不對,這是為什么呢?回去看看上文,可以發現:

        date() 函數接受的$time參數必須是一個Unix 時間戳格式的日期時間,我們需要將字符串類型的時間"2000-2"解析為 Unix 時間戳格式。

        這就需要使用strtotime() 函數了,該函數可以將任何英文文本的日期或時間描述解析為 Unix 時間戳。

        因此PHP程序可以寫成:

        <?php header("Content-type:text/html;charset=utf-8"); $i="2000-2"; $time=strtotime("$i"); //取得一個日期的 Unix 時間戳; $date=date("t",$time); echo "$i 月共有 $date 天<br>"; ?>

        我們看看輸出結果:

        PHP如何利用函數來計算給定年月的最大天數

        因為2000年是一個閏年,所以2月共有29天。OK!輸出正確。

        我們將其寫成一個功能函數:

        <?php function GetMaxDay($year,$month){ 	$time = strtotime("{$year}-{$month}"); //取得一個日期的 Unix 時間戳; 	$date=date("t",$time); 	echo "$year 年 $month 月共有 $date 天<br>"; } ?>

        調用GetMaxDay($year,$month)獲取某年、某月的最大天數

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

        輸出結果為:

        PHP如何利用函數來計算給定年月的最大天數

        其實,PHP中不止strtotime() 函數可以解析日期,返回一個日期的 UNIX 時間戳;mktime() 函數也可以。

        下面我們來改寫一下GetMaxDay()函數,在里面利用mktime() 函數來取得一個日期的 Unix 時間戳

        <?php header("Content-type:text/html;charset=utf-8"); function GetMaxDay($year,$month){ 	$time = mktime(20,20,20,$month,1,$year); //取得一個日期的 Unix 時間戳; 	$date=date("t",$time); 	echo "$year 年 $month 月共有 $date 天<br>"; } GetMaxDay(1996,2); GetMaxDay(2000,2); GetMaxDay(2001,2); GetMaxDay(2001,3); GetMaxDay(2001,4); ?>

        輸出結果為:

        PHP如何利用函數來計算給定年月的最大天數

        可以看出:mktime(20,20,20,$month,1,$year)函數需要指定6個參數,分別為小時、分鐘、秒鐘、月份、天數、年份。其中小時、分鐘、秒鐘可以隨便設置,月份和年份就是我們給定的$month$year,而天數就可設置為1(只要值不超過28就行)。

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

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲精品乱码久久久久久中文字幕 | 日韩一区二区三区精品| 香港三级精品三级在线专区 | 四虎精品影院永久在线播放| 久久精品成人| 亚洲国产精品国自产拍AV| 亚洲精品小视频| 人人妻人人澡人人爽人人精品电影 | 亚洲国产精品人人做人人爱| 四虎国产精品永久在线观看| 高清在线国产午夜精品| 99久久人妻无码精品系列| 亚洲中文字幕久久精品无码喷水| 国产午夜亚洲精品理论片不卡 | 国产三级国产精品国产普男人| 国语自产少妇精品视频| 精品久久久久国产免费| 精品国产三级a在线观看| 久久久精品久久久久久| 视频二区国产精品职场同事| 精品国产乱码久久久久久郑州公司| 成人国产精品动漫欧美一区 | 精品熟女少妇a∨免费久久| 日韩美女18网站久久精品| 国产精品尹人在线观看| 亚洲国产精品国自产拍电影| 国产精品丝袜一区二区三区| 亚洲中文字幕无码久久精品1| 久久久人妻精品无码一区| 911亚洲精品不卡| 99久久国语露脸精品国产| 55夜色66夜色国产精品视频| 九九99精品久久久久久| 久久r热这里有精品视频| 国产精品合集一区二区三区| 国产精品水嫩水嫩| 99精品高清视频一区二区| 国产精品福利一区二区| 国产精品视频网站你懂得| 国产精品欧美一区二区三区不卡 | 国内精品国产成人国产三级|