8
votes

PHP: Comment calculer l'âge de la personne en mois

J'ai cherché cela mais n'a pas trouvé de fonction parfaite dans PHP. Je veux obtenir une fonction PHP qui calculille l'âge de la personne que depuis des mois.

Par exemple: xxx

merci


1 commentaires

Une bonne réponse sera allumée en 2010-03-01 Répondre '1' Si la personne est née 2010-01-31 et '0' si la personne est née en 2010-02-02.


3 Réponses :


-1
votes

Si vous voulez des années à des mois, où la personne entrait leurs âges comme $ années xxx

Si vous voulez des mois à des années, où la personne contribue à leur âge Comme mois $ mois xxx


3 commentaires

Ce n'est pas complètement précis, compte tenu du fait que les mois ne sont pas distribués uniformément (28, 29, 30, 31 jours par mois).


En outre, si une personne est née en janvier et est maintenant juillet, le calcul serait faux de 7 mois.


Pas si vous supposez que des années $ peuvent être entrées comme une décimale .. E.g. 1,5 ans etc.



13
votes

Utilisation de PHP's dateInterval (disponible à partir de 5.3.0), c'est assez facile: xxx

maintenant mois $ mois contiendra le nombre de mois que j'ai vécu.


4 commentaires

Existe-t-il une raison spécifique d'utiliser $ diff-> format () sur l'accès aux propriétés Y et M de la dateInterval directement?


Nan. Vous pouvez le faire aussi si vous le souhaitez.


Je ne vois aucune mention de ces propriétés dans la documentation. L'utilisation de fonctionnalités sans papiers est généralement une mauvaise idée car elles sont plus susceptibles de changer à l'avenir.


@Ruben: Tu as raison. Il ne semble pas être documenté nulle part. Il a été ajouté maintenant et devrait apparaître en ligne dans la semaine prochaine: Svn.php.net/ Viewvc? View = Révision et révision = 301510



2
votes
$birthday = new DateTime("June 21st 1986");
$diff = $birthday->diff(new DateTime());
$months = ($diff->y * 12) + $diff->m;

var_dump($months);
Something along these lines?

0 commentaires