簡體   English   中英

如何使用php計算進入我年齡的年份

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM