如何使用php计算进入我年龄的年份

时间:2010-06-16 05:55:10

标签: php date

如何使用php计算进入我年龄的年份。

示例:

我的年龄是24岁。

所以我需要把这一年当作1985年。

如何做到这一点。

提前致谢

7 个答案:

答案 0 :(得分:7)

如果你知道简单的数学,你就会知道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年的一半,导致非常高的不准确性。

答案 1 :(得分:1)

要获取24年前的日期,您可以使用strtotime

$date = strtotime("-24 year");
echo date('%c', $date);

答案 2 :(得分:1)

使用DateTime

PHP> 5.2

<?php
       function getBirthYear($age) {
               $now = new DateTime();
               $now->modify("-" . $age . " years");
               return $now->format("Y");
       }

       echo getBirthYear(24);
?>

PHP&gt; 5.3

<?php
       function getBirthYear($age) {
               $now = new DateTime();
               $now->sub(new DateInterval("P" . $age . "Y"));
               return $now->format("Y");
       }

       echo getBirthYear(24);
?>

答案 3 :(得分:1)

由于您无法给出确切的年份,因此最好指定日期范围。

如果你今天24岁(我们通常围绕向下,而不是围绕 off ),你出生于1985年6月17日至1986年6月16日。

此页面上已发布添加和减去日期的方法。

答案 4 :(得分:1)

我使用了一个我自己制作的简单php脚本:My_Age_Php

答案 5 :(得分:0)

PHP 5.3.0还引入了date_diff function作为DateTime类的一部分。

答案 6 :(得分:0)

警告:这是不准确的,但这是一次尝试。

$yearBorn = round((((time()-($age*31556926))/31556926)+70));
$yearBorn = ($yearBorn>100)? "20".substr($yearBorn,1,2):"19".$yearBorn;