2010-07-26 23 views
6

Voglio calcolare l'età della persona in mesi più giorni usando la data di nascita (esempio: 1986-08-23).PHP: come calcolare l'età della persona in mesi + giorni?

Ad esempio:

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

qualche idea? Grazie.

+0

Con quale valore si inizia? – alex

+0

Qual è l'input? Secondi, Minuti, Giorni, anni + giorni? Difficile trovare una risposta senza informazioni sufficienti. – martiert

+0

@alex: data di nascita (esempio: 1986-08-23) – NAVEED

risposta

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); 

Nota che DateTime::diff() richiede PHP 5.3.0 o versione successiva.

+0

Questo sarà accurato per gli anni bisestili? – Piskvor

+0

@Piskvor Sì, lo sarà. –

+0

Grazie per il chiarimento. – Piskvor

Problemi correlati