$data='2014-11-11';//这里可以任意格式,因为strtotime函数很强大
$is_date=strtotime($data)?strtotime($data):false;
if($is_date===false){
exit('日期格式非法');
}else{
echo date('Y-m-d',$is_date);//只要提交的是合法的日期,这里都统一成2014-11-11格式
}
说明
bool checkdate ( int $month , int $day , int $year )
如果给出的日期有效则返回 TRUE,否则返回 FALSE。检查由参数构成的日期的合法性。日期在以下情况下被认为有效:
year 的值是从 1 到 32767
month 的值是从 1 到 12
Day 的值在给定的 month所应该具有的天数范围之内,闰年已经考虑进去了。
Example #1 checkdate() 例子
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>
以上例程会输出:
bool(true)
bool(false)
字符串转换以下即可:
$str='2015-01-12';
list($y,$m,$d)=explode(‘-’,$str);
var_dump(checkdate($m,$d,$y));