PHP 5.2.6中的年龄计算

时间:2017-10-24 14:50:26

标签: php datediff

我在计算数据库中保存的年龄时遇到问题。我从这个网站的用户那里获得了帮助,他给了我正确的输出文件,但我遇到了一个问题。该解决方案是为较新的PHP版本,但我的PHP版本是5.2.6。任何有关此方法的帮助都将受到高度赞赏。这是他提供给我的代码

if(!empty($row11['dob'])){ 
            $birthdate = new DateTime($row11['dob']);
            $today     = new DateTime('today');
            $ag = $birthdate->diff($today)->y;
            $mn = $birthdate->diff($today)->m;
            $dy = $birthdate->diff($today)->d;              
        }else{
            $ag = 0; $mn=0; $dy=0;
        }   

我还附上原始文件,以便您可以更好地帮助我。请注意我为此目的使用php 5.2.6。任何有关这方面的迅速帮助将受到高度赞赏。感谢

以下是Original File

的链接

1 个答案:

答案 0 :(得分:0)

也许我可以帮忙。在PHP 5.3中引入了Datetime-> diff,因此您需要一种解决方法。

不是最好的,但绝对快速的方法是将当前日期减去生日日期除以过去的年数。这看起来像是:

$birthdate = new DateTime($row11['dob']);
$today = new DateTime('today');
$year = round(($today->format('U') - $birthdate->format('U')) / (60*60*24*365));

几个月来,情况变得更加复杂,但基于这个例子,你似乎不需要更多的细节。如果你想考虑一年的变化,我建议扩展公式。