PHP checkdate是一個常用的日期驗證函數,在處理日期數據時,我們往往需要判斷輸入的日期是否合法,而checkdate函數正是為此而生。
checkdate函數接受3個必要參數,分別是年,月,日,按照這個順序排列。如果輸入的日期合法,則返回true,否則返回false。
if(checkdate(2022, 2, 29)) { echo "輸入的日期合法!"; } else { echo "輸入的日期不合法!"; }
上面這段代碼將判斷2022年2月29日是否合法,由于2022年沒有閏年,2月只有28天,因此上面的代碼將輸出“輸入的日期不合法!”。
除了年月日三個參數外,checkdate函數還能夠處理字符串類型的日期數據。
$dateString = "2022-02-29"; $dateTime = new DateTime($dateString); $year = $dateTime->format("Y"); $month = $dateTime->format("m"); $day = $dateTime->format("d"); if(checkdate($month, $day, $year)) { echo "輸入的日期合法!"; } else { echo "輸入的日期不合法!"; }
上面這段代碼將把字符串類型的日期數據轉換為年月日的三個變量,并調用checkdate函數進行判斷,輸出結果同上。
如果你需要在自己的代碼中進行循環日期的處理,checkdate函數也能夠勝任。下面是一個示例代碼,可以輸出2018年到2022年所有的2月份天數。
for($year = 2018; $year<= 2022; $year++) { if(checkdate(2, 29, $year)) { echo "{$year}年有29天的2月份!"; } else { echo "{$year}年沒有29天的2月份!"; } }
上面這個示例代碼將輸出以下內容:
2018年沒有29天的2月份! 2019年沒有29天的2月份! 2020年有29天的2月份! 2021年沒有29天的2月份! 2022年沒有29天的2月份!
總體來說,PHP checkdate函數是非常實用的一個日期處理函數,不管你是需要判斷日期的合法性,還是需要進行日期的循環處理,它都能勝任。
上一篇css3 性別選擇
下一篇1到100的偶數和php