Home >php教程 >PHP源码 >php验证判断一个日期的格式是否正确

php验证判断一个日期的格式是否正确

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-08 17:20:051803browse

在php中验证日期我们有许多的一方法了,像有data函数有一个可以判断是不是日期了,同时也可以使用正则之类的命令,具体如下。

<script>ec(2);</script>

可以用strtotime()把日期($date)转成时间戳,再用date()按需要验证的格式转成一个日期,来跟$date比较是否相同来验证这个日期的格式是否是正确的。

正则验证日期格式


$dateTime=”2010-6-4 00:00:00″;
if(preg_match(“/^d{4}-d{2}-d{2} d{2}:d{2}:d{2}$/s”,$dateTime))
{
echo “Yes”;
}else{
echo “No”;
}

例子

/*
* 方法 isDate
* 功能 判断日期格式是否正确
* 参数 $str 日期字符串
$format 日期格式
* 返回 无
*/
function is_Date($str,$format='Y-m-d'){
    $unixTime_1=strtotime($str);
    if(!is_numeric($unixTime_1)) return false; //如果不是数字格式,则直接返回
    $checkDate=date($format,$unixTime_1);
    $unixTime_2=strtotime($checkDate);
    if($unixTime_1==$unixTime_2){
        return true;
    }else{
        return false;
    }
}

注意以上判断方法对一般的要求足够了,但不是非常严格,对于 2012-03-00 或 2012-02-31 这种格式的日期也会返回 true,本人一直没有找到更好的解决办法

以下代码验证日期是否为2015-08-11 20:06:08的形式:

 header("Content-type:text/html;charset=utf-8");
 $date = '2015-08-11 20:06:08';
 if( date('Y-m-d H:i:s', strtotime($date))  == $date )
 {
  echo 'yes';
 }
 else
 {
  echo 'no';
 }
?>

所以要验证日期格式是否为2015-08-11,可以改成if( date('Y-m-d', strtotime($date))  == $date )来判断,验证其他格式,以此类推。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn