php check,php checkdate日期验证

/**

*

* 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' . " ";

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值