我目前有一个登记表,它通过三个输入来检查一个人的出生日期
日(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';
}
}