関数の概要
PHPの checkdate 関数は、指定した日付(年・月・日)が正しいかどうかを判定します。日付の妥当性を簡単に確認できるため、入力フォームの検証や日付関連の処理で広く利用されます。
パラメータの説明
- int $month – 月を表す整数(1〜12が有効)
- int $day – 日を表す整数(1〜31が有効な範囲。ただし月によって異なります)
- int $year – 年を表す整数(例:2024)
戻り値
指定された年月日が有効な場合は true を返し、不正な日付の場合は false を返します。
使用例
基本的な使い方
<?php
if (checkdate(2, 29, 2024)) {
echo "2024年2月29日は有効な日付です。";
} else {
echo "日付が無効です。";
}
?>
2024年はうるう年なので、2月29日は正しい日付として判定されます。
無効な日付のチェック
<?php
if (checkdate(4, 31, 2023)) {
echo "2023年4月31日は有効な日付です。";
} else {
echo "日付が無効です。";
}
?>
4月は30日までしかないため、「4月31日」は無効な日付と判定されます。
ユーザー入力の日付検証
<?php
$month = intval($_POST['month']);
$day = intval($_POST['day']);
$year = intval($_POST['year']);
if (checkdate($month, $day, $year)) {
echo "入力された日付は有効です。";
} else {
echo "無効な日付が入力されました。";
}
?>
フォームから受け取った年月日を安全にチェックする際に便利です。
関連する関数
date()– 現在の日付や時刻を取得・フォーマットするstrtotime()– 文字列をUNIXタイムスタンプに変換mktime()– 指定日時のUNIXタイムスタンプを生成
まとめ
checkdate 関数は、簡単に日付の妥当性をチェックできる便利な関数です。年・月・日の組み合わせが実際に存在する日付かどうかを判定するため、フォームバリデーションや日付処理でのエラー防止に活用しましょう。
