溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP怎么利用函數(shù)來計算給定年月的最大天數(shù)

發(fā)布時間:2021-08-16 15:07:08 來源:億速云 閱讀:118 作者:chen 欄目:編程語言

這篇文章主要講解了“PHP怎么利用函數(shù)來計算給定年月的最大天數(shù)”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP怎么利用函數(shù)來計算給定年月的最大天數(shù)”吧!

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

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

我們來試試:

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

看看輸出結果:

PHP怎么利用函數(shù)來計算給定年月的最大天數(shù)

報錯且輸出的最大天數(shù)不對,這是為什么呢?回去看看上文,可以發(fā)現(xiàn):

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

這就需要使用strtotime() 函數(shù)了,該函數(shù)可以將任何英文文本的日期或時間描述解析為 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怎么利用函數(shù)來計算給定年月的最大天數(shù)

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

我們將其寫成一個功能函數(shù):

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

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

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

輸出結果為:

PHP怎么利用函數(shù)來計算給定年月的最大天數(shù)

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

下面我們來改寫一下GetMaxDay()函數(shù),在里面利用mktime() 函數(shù)來取得一個日期的 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怎么利用函數(shù)來計算給定年月的最大天數(shù)

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

感謝各位的閱讀,以上就是“PHP怎么利用函數(shù)來計算給定年月的最大天數(shù)”的內容了,經(jīng)過本文的學習后,相信大家對PHP怎么利用函數(shù)來計算給定年月的最大天數(shù)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

php
AI