[英]How to calculate year from entering my age using php
如何使用php计算进入我年龄的年份。
例:
我进入24岁。
所以我需要把这一年当作1985年。
如何做到这一点。
提前致谢
如果你知道简单的数学,你会知道2010 - 24 - 1 = 1985
或$year = date("Y") - $theirage - 1
...但是只是给出一个年龄并不能准确推断出他们出生的那一年。 例如:
如果日期是2010年12月30日并且他们说他们是24岁,你仍然说他们出生于1985年,那时他们实际上是1986年出生的机会非常非常高。你不能依靠他们的年龄来给你他们的出生年份。
编辑如果不是很清楚:
今天的日期是2010年6月16日。所以到了24岁,我需要在1985年6月17日到1986年6月16日之间的某个地方出生。那将是1985年的近一半的出生年,接近一半的出生年份。 1986年,造成非常高的不准确性。
要获得24年前的日期,您可以使用strtotime :
$date = strtotime("-24 year");
echo date('%c', $date);
使用DateTime
:
PHP> 5.2
<?php
function getBirthYear($age) {
$now = new DateTime();
$now->modify("-" . $age . " years");
return $now->format("Y");
}
echo getBirthYear(24);
?>
PHP> 5.3
<?php
function getBirthYear($age) {
$now = new DateTime();
$now->sub(new DateInterval("P" . $age . "Y"));
return $now->format("Y");
}
echo getBirthYear(24);
?>
由于您无法给出确切的年份,因此最好指定日期范围。
如果你是24岁今天(我们通常四舍五入 ,不四舍五入 ),在你出生1985年6月17日和1986年16月之间。
添加和减去日期的方法已在此页面上发布。
我使用了一个我自己制作的简单的PHP脚本: My_Age_Php
PHP 5.3.0还引入了date_diff
函数作为DateTime类的一部分。
警告:这是不可避免的,但它是一个尝试。
$yearBorn = round((((time()-($age*31556926))/31556926)+70));
$yearBorn = ($yearBorn>100)? "20".substr($yearBorn,1,2):"19".$yearBorn;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.