PHPで文字列が日時であるかをチェックする
PHP で文字列が日時であるかをチェックする関数を紹介します。PHP公式ウェブサイトでglavicにより提案された方式です。
ソースコード
/**
* 文字列が日時であるかをチェックします
* @param string $str 日時文字列
* @param string $format 日時フォーマット
* @return bool 文字列が指定されたフォーマットで有効な日時の場合はtrue、それ以外はfalse
*/
function validateDateTimeFormat($str, $format = 'Y-m-d H:i:s')
{
$d = DateTime::createFromFormat($format, $str);
return $d && $d->format($format) == $str;
}
検証
日時文字列と日時フォーマットを指定して関数を実行してください。日時フォーマットを省略すると "Y-m-d H:i:s" のフォーマットでチェックします。