我有PHP代码,它从出生日期开始计算当前年龄。
我的问题是如何确定年龄,如果我只是预测某个人在给定日期的年龄。
例如,到2020年5月30日这个人的年龄将是什么,而不是我们现有的2014年,这个人的生日将会是多少个月。
我在这里找不到任何相关的帖子,因为大部分时间都计算了当前日期的年龄。
以下是在当前日期计算年龄的代码。
<?php
// if-> To Check whether form has been submitted
if(isset($_POST['submit']))
{
$d=$_POST['day'];
$m=$_POST['month'];
$y=$_POST['year'];
//converting Inputed DOB in "dd-mm-yyyy" format
$dob=$d.'-'.$m.'-'.$y;
//Create a new date object with current system date
$bday=new DateTime($dob);
//Differentiating both dates
$age=$bday->diff(new DateTime);
$today=date('d-m-Y'); //Current date
echo '<br /><br /><br />';
echo '<b>Your Birth date: </b>';
echo $dob;
echo '<br><b>Today : </b> ';
echo $today;
echo '<br>';
echo '<b>Your Age : </b> ';
echo $age->y;
echo ' Years, ';
echo $age->m;
echo ' Months, ';
echo $age->d;
echo ' Days';
}
?>
我只是想提前确定那个人的年龄和岁月。
提前Tnx。答案 0 :(得分:-1)
time()函数获取自上一个UNIX纪元(1970年1月1日)以来的秒数。通过添加或减去每个日期之间的秒数,然后将它们转换为更大的单位(例如,天,月,年),可以使用UNIX时间戳来轻松获得时间差异。只需添加一个额外的表单输入以获取未来的日期(或在您的代码中指定它),然后使用类似的东西......
<?php
$d=$_POST['day'];
$m=$_POST['month'];
$y=$_POST['year'];
$dob=$d.'-'.$m.'-'.$y;
$fd=$_POST['future_day'];
$fm=$_POST['future_month'];
$fy=$_POST['future_year'];
$specified_date = $fd.' - '.fm.' - '.fy;
echo calculate_age($dob, $specified_date);
function calculate_age($date_of_birth, $specified_date){
$unix_dob = strtotime($specified_date); //Convert inputted date of birth to unix timestamp
$unix_today = time(); //Current unix timestamp
$unix_diff = $unix_today - $unix_dob; //Difference between current unix and DOB unix
$current_age = floor($unix_diff / (60 * 60 * 24 * 365));
return $current_age;
}
?>