首页 > php代码 > php checkdate日期验证

php checkdate日期验证

<?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':
        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

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


文章地址:http://www.phprm.com/code/066c9c8f4bb2e0b281091344c75b8e9b.html

转载随意^^请带上本文地址!

标签:none

发表留言