2010-07-26 249 views
6

我想用出生日期(例如:1986-08-23)來計算月齡加月份的人的年齡。PHP:如何計算月齡+天的人的年齡?

例如:

0 months and 25 days old. 
5 months and 20 days old. 
150 months and 4 days old. 
285 months and 30 days old. 

任何想法?謝謝。

+0

你以什麼價值開始? – alex 2010-07-26 07:59:24

+0

輸入是什麼?秒,Minuts,天,年+日?很難得出沒有足夠信息的答案。 – martiert 2010-07-26 08:00:06

+0

@alex:出生日期(例如:1986-08-23) – NAVEED 2010-07-26 08:00:27

回答

17
$date = new DateTime('1990-10-13'); 
$diff = $date->diff(new DateTime()); 
printf("%d months and %d days old", $diff->y*12 + $diff->m, $diff->d); 

請注意,DateTime::diff()需要PHP 5.3.0或更高版本。

+0

這會是準確的WRT閏年嗎? – Piskvor 2010-07-26 08:03:35

+0

@Piskvor是的,它會的。 – 2010-07-26 08:03:51

+0

謝謝你的澄清。 – Piskvor 2010-07-26 08:07:04