PHP Code: Validate Date

    內容表格
    1. 1. Sample #1:

    版本為 16:33, 26 Dec 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    Sample #1:

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

     

    Powered by MindTouch Core