zhangpengfei00 发表于 2018-12-20 14:06:31

php中的时间格式校验函数

  如何校验用户输入的时间是否是合要求的?其实很简单:


[*]/**
[*] * 判断时间格式是否正确
[*] *
[*] * @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 "";
[*]$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";

  输出结果:


[*]2012-02-30 12:31:22 - FALSE
[*]2012-02-10 12:31:22 - TRUE
[*]2012-02-10 - FALSE
[*]2012-02-10 - TRUE

  用到的技巧很简单,就是将传入的时间用strtotime转成时间戳,再用date函数转成指定的格式,如果转换后的字符串与传入的相同,那就说明格式是正确的,so easy.



页: [1]
查看完整版本: php中的时间格式校验函数