/**
*
* 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':
list( $y, $m, $d ) = preg_split( '/[-./ ]/', $date );
break;
case 'YYYY/DD/MM':
case 'YYYY-DD-MM':
list( $y, $d, $m ) = preg_split( '/[-./ ]/', $date );
break;
case 'DD-MM-YYYY':
case 'DD/MM/YYYY':
list( $d, $m, $y ) = preg_split( '/[-./ ]/', $date );
break;
case 'MM-DD-YYYY':
case 'MM/DD/YYYY':
list( $m, $d, $y ) = preg_split( '/[-./ ]/', $date );
break;
case 'YYYYMMDD':
$y = substr( $date, 0, 4 );
$m = substr( $date, 4, 2 );
$d = substr( $date, 6, 2 );
break;
case 'YYYYDDMM':
$y = substr( $date, 0, 4 );
$d = substr( $date, 4, 2 );
$m = substr( $date, 6, 2 );
break;
default:
throw new Exception( "Invalid Date Format" );
}
return checkdate( $m, $d, $y );
}
?>
example usage
echo validateDate( '2007-04-21' ) ? 'good'. " " : 'bad' . " ";
echo validateDate( '2007-21-04', 'YYYY-DD-MM' ) ? 'good'. " " : 'bad' . " ";
echo validateDate( '2007-21-04', 'YYYY/DD/MM' ) ? 'good'. " " : 'bad' . " ";
echo validateDate( '21/4/2007', 'DD/MM/YYYY' ) ? 'good'. " " : 'bad' . " ";
echo validateDate( '4/21/2007', 'MM/DD/YYYY' ) ? 'good'. " " : 'bad' . " ";
echo validateDate( '20070421', 'YYYYMMDD' ) ? 'good'. " " : 'bad' . " ";
echo validateDate( '04212007', 'YYYYDDMM' ) ? 'good'. " " : 'bad' . " ";
?>
PbootCMS是一款高效、简洁、强悍的开源PHP企业网站开发建设管理系统。 PbootCMS 1.1.8 更新日志:2018-08-07 1.修复提交表单多选字段接收数据问题; 2.修复登录过程中二次登陆在页面不刷新时验证失败问题; 3.新增搜索结果fuzzy参数来控制是否模糊匹配; 4.新增父分类,顶级分类名称及链接独立标签,具体见手册; 5.新增内容多图拖动排序功能。
243
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号