【www.gdgbn.com--时间日期】

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

 

本文来源:http://www.gdgbn.com/wangyetexiao/23350/