<?php
/**
*
* Validate a date
*
* @param string $date
* @param string format
* @return bool
*
*/
function validateDate( $date, $format='YYYY-MM-DD')
{
switch( $format )
{
case 'YYYY/MM/DD':
case 'YYYY-MM-DD':
break;
case 'YYYY/DD/MM':
case 'YYYY-DD-MM':
break;
case 'DD-MM-YYYY':
case 'DD/MM/YYYY':
break;
case 'MM-DD-YYYY':
case 'MM/DD/YYYY':
break;
case 'YYYYMMDD':
break;
case 'YYYYDDMM':
break;
default:
throw new Exception( "Invalid Date Format" );
}
}
?>
/* example usage*/
<?php
echo validateDate
( '2007-04-21' ) ?
'good'. "n" : 'bad' . "n";
echo validateDate
( '2007-21-04', 'YYYY-DD-MM' ) ?
'good'. "n" : 'bad' . "n";
echo validateDate
( '2007-21-04', 'YYYY/DD/MM' ) ?
'good'. "n" : 'bad' . "n";
echo validateDate
( '21/4/2007', 'DD/MM/YYYY' ) ?
'good'. "n" : 'bad' . "n";
echo validateDate
( '4/21/2007', 'MM/DD/YYYY' ) ?
'good'. "n" : 'bad' . "n";
echo validateDate
( '20070421', 'YYYYMMDD' ) ?
'good'. "n" : 'bad' . "n";
echo validateDate
( '04212007', 'YYYYDDMM' ) ?
'good'. "n" : 'bad' . "n";
?>