PHP出生检查错误

时间:2011-09-23 13:16:49

标签: php

我目前有一份登记表,通过三项输入检查出生日期

日(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

任何人都可以帮我吗?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

如果能以非常简单的方式完成,为什么会变得复杂:

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';
    }
}