note 87250 deleted from function.checkdate by googleguy

From: Date: Tue, 22 Oct 2013 08:03:23 +0000
Subject: note 87250 deleted from function.checkdate by googleguy
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-196773@lists.php.net to get a copy of this message
Note Submitter: doob_ at gmx dot de ---- <?php /* ** check a date ** dd.mm.yyyy || mm/dd/yyyy || dd-mm-yyyy || yyyy-mm-dd */ function check_date($date) { if(strlen($date) == 10) { $pattern = '/\.|\/|-/i'; // . or / or - preg_match($pattern, $date, $char); $array = preg_split($pattern, $date, -1, PREG_SPLIT_NO_EMPTY); if(strlen($array[2]) == 4) { // dd.mm.yyyy || dd-mm-yyyy if($char[0] == "."|| $char[0] == "-") { $month = $array[1]; $day = $array[0]; $year = $array[2]; } // mm/dd/yyyy # Common U.S. writing if($char[0] == "/") { $month = $array[0]; $day = $array[1]; $year = $array[2]; } } // yyyy-mm-dd # iso 8601 if(strlen($array[0]) == 4 && $char[0] == "-") { $month = $array[1]; $day = $array[2]; $year = $array[0]; } if(checkdate($month, $day, $year)) { //Validate Gregorian date return TRUE; } else { return FALSE; } }else { return FALSE; // more or less 10 chars } } check_date('21.02.1983'); check_date('21-02-1983'); check_date('02/21/1983'); // Common U.S. writing check_date('1983-02-21'); // iso 8601 ?>

« previous php.notes (#196773) next »