![](/img/trans.png)
[英]Calculate age in Years-months-days based on given date of birth - Wish if it's his/her birthday
[英]How to convert Birth date to age ( years, months, days ) and age( years, months, days ) to birth date conversion in PHP?
我有一个表格,用户可以输入年龄,月份和日期的患者年龄。 这将根据患者的出生日期将数据保存在数据库中。 问题是我正在使用strtotime()函数来获取患者的DOB,但是当我想显示从生日列中检索日期的年龄(年,月,日)时,有时会显示1或2天(+ - )结果。 我正在使用date_diff()函数来检索年龄(年,月,日)。 解决我的问题的任何方法?
$today = date("Y-m-d");
$dateOfBirth = strtotime("$today -2 years -2 months -20 days");
$birthday = date("Y-m-d", $dateOfBirth);
//and then tried to retrieve the age from that date which give me wrong answer
$diff = date_diff(date_create($birthday), date_create($today));
echo $diff->y; // showing 2
echo $diff->m; // showing 2
echo $diff->d; // showing 22 (it should be 20)
将代码中的以下行更新为:
$diff = date_diff(date_create($today), date_create($birthday));
在这里测试: http : //sandbox.onlinephpfunctions.com/code/9dece465739e2315be32b7882ba3ca9a5d9d65b3
我希望你做得好,我读了你的问题,并根据我的研究和我的知识找到了以下解决方案。
我希望这可以帮助您解决问题。
=>要获得基于出生率的总年份,您可以使用以下代码。
$bday = new DateTime('10.01.2001'); // Your date of birth
$today = new Datetime(date('m.d.y'));
$diff = $today->diff($bday);
printf(' Your age : %d years, %d month, %d days', $diff->y, $diff->m, $diff->d); //You will get your age
您可以在Fiddle中复制并粘贴代码以测试输出。 使用这个你肯定会按出生日期计算你的年龄。
提前致谢!
我写了一个简单的函数Calc_Age()
来计算它,它非常准确和精确,我希望它是你要找的...在我的代码下面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Patient Age Information</title>
</head>
<body>
<?php
function Calc_Age($myday) {
date_default_timezone_set('Europe/Rome');
$birth = new DateTime($myday);
$birth->format('Y-m-d');
$today = new DateTime('NOW');
$today->format('Y-m-d');
$diffs = $today->diff($birth);
$myage = $diffs->y . ($diffs->y == 1 ? ' year, ' : ' years, ');
$myage .= $diffs->m . ($diffs->m == 1 ? ' month and ' : ' months and ');
$myage .= $diffs->d . ($diffs->d == 1 ? ' day' : ' days');
return $myage;
}
?>
<h1>Patient: Angela Bennet</h1>
<p>Angela Bennet is <?php echo Calc_Age("1967-01-23"); ?> old</p>
<h1>Patient: Jhon Malkovich</h1>
<p>Jhon Malkovich is <?php echo Calc_Age("1977-04-14"); ?> old</p>
</body>
</html>
我希望这有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.