drmet46444 2012-03-09 00:11
浏览 20

PHP年龄计算器错误的年龄

i've got an age calc script for PHP. But, it seems to work with some dates, i don't get why it wont work.

function Agecalc($birthday) 
{

    list($day,$month,$year) = explode("/",$birthday);
    $day_diff   = date("d") - $day;
    $month_diff = date("m") - $month;
    $year_diff  = date("Y") - $year;
    if ($day_diff < 0 || $month_diff < 0)
        $year_diff--;
    return $year_diff;

}

echo Agecalc('19/2/1994');

This returns "17" when it should be 18?

  • 写回答

6条回答 默认 最新

  • dongzi1959 2012-03-09 00:14
    关注

    It is going to be beneficial to use PHP's built in DateTime functions to calculate this, specifically DateTime::diff(..).

    function AgeCalc($birthday)
    {
        $dateBirthday = DateTime::createFromFormat('d/m/Y', $birthday);
        $dateNow = new DateTime();
        $difference = $dateNow->diff($dateBirthday);
        return $difference->y;
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题