ユーザーが自分の生年月日を編集できるフォームがあります。生年月日をこの形式でDBに保存します15/24/1989
。これはdd/mm/yyyyです
フォームの誕生日投稿の値が示されているようにフォーマットされていることを確認するにはどうすればよいですか?
また、12/00/hello を渡すとどうなりますか?
数値のみが必要で、日付の範囲が 01 > dd < 31 , 01 > mm < 12 , 1920 > yyyy < current_year –
ユーザーが自分の生年月日を編集できるフォームがあります。生年月日をこの形式でDBに保存します15/24/1989
。これはdd/mm/yyyyです
フォームの誕生日投稿の値が示されているようにフォーマットされていることを確認するにはどうすればよいですか?
また、12/00/hello を渡すとどうなりますか?
数値のみが必要で、日付の範囲が 01 > dd < 31 , 01 > mm < 12 , 1920 > yyyy < current_year –
$date = date("d/m/Y", strtotime($this->input->post('date')));
この形式で日付を検証するには、この関数を使用する必要があります。
function checkDateFormat($date) {
if (preg_match('/^\d{2}\/\d{2}\/\d{4}$/', $date)) {
if(checkdate(substr($date, 3, 2), substr($date, 0, 2), substr($date, 6, 4)))
return true;
else
return false;
} else {
return false;
}
}
日付形式をチェックするだけでなく、実際の日付自体を PHPcheckdate()
関数でチェックします。
checkDateFormat("10/10/2010"); // true
checkDateFormat("29/02/2008"); // true
checkDateFormat("29/02/2007"); // false
checkDateFormat("10/10/20101"); // false
checkDateFormat("ilikecookie"); // false
等
strtotimeを使用する
date("d/m/Y", strtotime(this->input->post('date'))