首页 >后端开发 >php教程 >如何在 PHP 中根据 DD/MM/YYYY 出生日期可靠地计算年龄?

如何在 PHP 中根据 DD/MM/YYYY 出生日期可靠地计算年龄?

Patricia Arquette
Patricia Arquette原创
2024-12-05 06:48:14701浏览

How to Reliably Calculate Age from a DD/MM/YYYY Date of Birth in PHP?

PHP:以“dd/mm/yyyy”格式从出生日期计算年龄

从出生日期计算一个人的年龄可能是一项具有挑战性的任务,尤其是在处理大量数据时。此问题重点关注以前的方法遇到的特定挑战,该方法利用 while 循环来增加年龄,直到达到当前日期。

问题中建议的另一种方法涉及使用 strtotime() 和 Floor( ) 函数计算当前时间和出生日期之间的差异。然而,如上所述,这种方法也面临着局限性。

可靠的解决方案

更可靠的方法是根据日期的日和月来计算年龄出生日期和当前日期。下面是一个修改后的 PHP 函数,它解决了遇到的问题:

<?php
function calculateAge($birthDate) {
  $birthDate = explode("/", $birthDate);
  $age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md")
    ? ((date("Y") - $birthDate[2]) - 1)
    : (date("Y") - $birthDate[2]));
  return $age;
}

$dob = "14/09/1986";
$age = calculateAge($dob);
echo "Age: ".$age;
?>

实现细节

  • calculateAge() 函数接受一个表示出生日期的字符串以“dd/mm/yyyy”格式作为输入。
  • 它将字符串拆分为一个数组日期组件(月、日、年)。
  • 它使用 mktime() 函数计算当前时间和出生日期之间的差异。
  • 它比较当前时间和出生日期之间的差异。 birthdate 与当前月份和日期来确定今年是否有过生日。
  • 根据此比较,调整年龄计算

这种方法提供了一种精确而有效的方法来计算个人的年龄,无论正在处理的 DOB 数量如何。

以上是如何在 PHP 中根据 DD/MM/YYYY 出生日期可靠地计算年龄?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn