验证日期 - 问题php

时间:2011-06-15 21:42:47

标签: php validation date

我正在尝试使用此代码来验证日期,但我得到了错误。 这是什么原因?

function validate_age($form) {
        $str = "1977/03/27";

        $stamp = strtotime( $str );

        if (!is_numeric($stamp)) {
            echo ("nop");
            return FALSE;
        }

        $year  = date( 'Y', $stamp );
        $month = date( 'm', $stamp );
        $day   = date( 'd', $stamp );


        if (checkdate($year, $month, $day)){
            return TRUE;
        }

        return FALSE; //stops here
}

validate_age($form);

感谢

2 个答案:

答案 0 :(得分:3)

检查参数的顺序

checkdate($month, $day, $year);

所有这些都是在php官方文件中写的:http://it.php.net/checkdate

答案 1 :(得分:0)

月应该是1到12(前面没有零)

checkdate($month, $day, $year);checkdate(3, 27, 1977);中的checkdate(03, 27, 1977);一样,因此您应该使用$month = date( 'n', $stamp );