checkdate

checkdate関数:日付が正しいかどうかを調べる

使い方

$is_valid_date = checkdate( $month, $date, $year );

プログラマにとっては日付の妥当性を調べる機会は、たくさん訪れるのではないかと思います。
その度にめんどくさい思いをしている方もたくさんいらっしゃるのではないでしょうか。

でもPHPなら楽ちんです。
checkdate関数というその名の通りの動作をしてくれる関数が用意されています。
第1引数が月、第2引数が日、第3引数が西暦年を指定するとその日付が正しい日付であればtrueを返し、正しくない日付であればfalseを返してくれます。
割と他のプログラミング言語では、こういう関数が無くて自前で作ったという方も多いのでは。。。

ちなみに以前紹介したcal_days_in_month関数とは違って、カレンダーの種類を指定することはできず、グレゴリオ暦のみに対応しています。
一般的な日本人や日本の会社では、ほとんどの場合グレゴリオ暦を使うので問題ないかと思います。

使いどころ

説明しなくとも使いどころは分かると思いますが、
日付の妥当性検査に使えばよいのです。だって、そういう用途の関数なんですから。

カンのいい人は気づいていると思いますが、年月だけの妥当性検査に使うこともできます。
こんな風に第2引数(日付)に必ず1を入れるようにするだけです。

if(!checkdate( $month, 1, $year )) {
    //ここは無効な年月の場合の処理
}

公式サイト
http://www.php.net/manual/ja/function.checkdate.php