在上一篇文章《怎麼透過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>"; ?>
看看輸出結果:
#錯誤且輸出的最大天數不對,這是為什麼?回去看看上文,可以發現:
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>"; ?>
我們看看輸出結果:
因為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不只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); ?>
輸出結果為:
可以看出:mktime(20,20,20,$month,1,$year)
函數需要指定6個參數,分別為小時、分鐘、秒鐘、月份、天數、年份。其中小時、分鐘、秒鐘可以隨便設置,月份和年份就是我們給定的$month
和$year
,而天數就可設置為1(只要值不超過28就行)。
好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學
#以上是PHP如何利用函數來計算給定年月的最大天數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3漢化版
中文版,非常好用

SublimeText3 Linux新版
SublimeText3 Linux最新版

禪工作室 13.0.1
強大的PHP整合開發環境