PHP出生检查程序错误


PHP birth checker error

我目前有一个登记表,它通过三个输入来检查一个人的出生日期

日(dd) -月(mm) -年(yyyy)

我用来检查的代码:

    function dateDiff($dformat, $endDate, $beginDate)
{
$date_parts1=explode($dformat, $beginDate);
$date_parts2=explode($dformat, $endDate);
$start_date=gregoriantojd($date_parts1[1], $date_parts1[0], $date_parts1[2]);
$end_date=gregoriantojd($date_parts2[1], $date_parts2[0], $date_parts2[2]);
return $end_date - $start_date;
}
//Enter date of birth below in MM/DD/YYYY
$dob="$day/$month/$year";
$dob2 = "$dob";
$one =  round(dateDiff("/", date("d/m/Y", time()), $dob2)/365, 0) . " years.";
if($one <13){
?>
You must be 13 years of age or older to join!
<?
}else{
?>
YAY you're 13 or above!
<? } ?>

我收到一个错误说:

error: Warning: gregoriantojd() expects paramater 1 to be long string
有谁能帮我一下吗?

提前感谢!

当你可以用非常简单的方法做的时候,为什么要把它复杂化呢?

function dateDiff($dateFormat, $beginDate, $endDate)
{
    $begin = DateTime::createFromFormat($dateFormat, $beginDate);
    $end = DateTime::createFromFormat($dateFormat, $endDate);
    $interval = $begin->diff($end);
    if($interval->y >= 13) 
    {
        echo 'Over 13';
    }
    else
    {
        echo 'Not 13';
    }
}