以下代码,可用于校验用户输入的时间是否是符合要求。
例子:
<?php
    /**
     * 判断时间格式是否正确
     * @site www.jb200.com
     * @param string $param 输入的时间
     * @param string $format 指定的时间格式
     * @return boolean
     */
    function isDatetime($param = '', $format = 'Y-m-d H:i:s')
    {
        return date($format, strtotime($param)) === $param;
    }
    echo "<pre>";
    $str = "2012-02-30 12:31:22";
    echo $str." - ";
    echo isDatetime($str) ? "TRUE" : "FALSE";
    echo "n";
    $str = "2012-02-10 12:31:22";
    echo $str." - ";
    echo isDatetime($str) ? "TRUE" : "FALSE";
    echo "n";
    $str = "2012-02-10";
    echo $str." - ";
    echo isDatetime($str, "Ymd") ? "TRUE" : "FALSE";
    echo "n";
    $str = "2012-02-10";
    echo $str." - ";
    echo isDatetime($str, "Y-m-d") ? "TRUE" : "FALSE";
?>
输出结果:
代码说明:
将传入的时间用strtotime转成时间戳,再用date函数转成指定的格式,如果转换后的字符串与传入的相同,则说明格式是正确。