我正在寻找一种方法来计算一个人的年龄,因为他们的DOB格式为dd/mm/yyyy.
我正在使用以下功能,该功能可以正常工作几个月,直到某种故障导致while循环永远不会结束并使整个站点停止运行.由于每天有几十个DOB经过这个功能几次,所以很难确定造成这种情况的原因.
有没有人有更可靠的计算年龄的方法?
//replace / with - so strtotime works
$dob = strtotime(str_replace("/","-",$birthdayDate));
$tdate = time();
$age = 0;
while( $tdate > $dob = strtotime('+1 year', $dob))
{
++$age;
}
return $age;
Run Code Online (Sandbox Code Playgroud)
编辑:这个函数似乎在某些时候工作正常,但对于14/09/1986的DOB返回"40"
return floor((time() - strtotime($birthdayDate))/31556926);
Run Code Online (Sandbox Code Playgroud) 我需要从出生日期算出"顾客"的年龄.
我试过使用以下内容:
DATEDIFF(year,customer.dob,"2010-01-01");
但它似乎没有用.
有任何想法吗?我知道它会变得简单!
谢谢
可能重复:
计算从日期开始的年份
嗨,
我有一个表格,代表生日.如何从该日期找到该人的年龄?
这就是我所拥有的.
$qPersoonsgegevens = "SELECT * FROM alg_persoonsgegevens WHERE
alg_persoonsgegevens_leerling_ID = $leerling_id";
$rPersoonsgegevens = mysql_query($qPersoonsgegevens);
$aPersoonsgegevens = mysql_fetch_assoc( $rPersoonsgegevens );
$timeBirthdate = mktime($aPersoonsgegevens['alg_persoonsgegevens_geboortedatum']);
Run Code Online (Sandbox Code Playgroud)
不幸的是,我不知道如何从这一点开始到达年龄.
任何帮助深表感谢.
Matthy