Bonsour®
Mais je ne comprends toujours pas l'affichage de l'âge.
Nous sommes le 23/03/2017
Dans l'exemple admettant que la date de naissance soit le 24/03/2005 l'affichage devrai être 11 ans 11 mois 30 jours et non pas 11 ans 11 mois 27 jours. Je nage.
la veille de l'anniversaire c'est 12 ans moins 1 jour !!!
Il n'y a pas de vérité hors un âge calculé en jours...
les durées de mois et année ne sont pas des constantes mathématiques !!!
tentative d'illustration :
la décomposition d'un âge comprend :
- un certain nombre de jours entre la date de naissance et la fin du mois de naissance (VarJ1)
- certain nombre de jours entre la date référence et le début de ce même mois (VarJ2)
- un nombre de mois complets (VarM)
cette période de mois complets peut elle même être décomposée en;
- un certain nombre de mois complets avant le début de l'année suivant la naissance (VarM1)
- un certain nombre de mois complets entre le début l'année référence et le mois référence(VarM2)
- un nombre d'années complètes (VarA)
Pour résumer en fonction des variables nommée ci-dessus :
Age = VarA années et (VarM1+VarM2) mois et (VarJ1+VarJ2) jours
selon exemple :
Age = Années(2006 à 2016) soit 11 années complètes
Mois(4 à 12 de 2005) soit 9 mois complets
+ Mois(1 à 2 de 2017) soit 2 mois complets
+ jours(24 à 31 de mars 2005) soit 8 jours
+ jours(1 à 23 de mars 2017) soit 23 jours
on arrive donc à 11 ans 11 mois et 31 jours
en fait demain 24/03/2017 puisque
c'est l'anniversaire on dira :
12 ans
Simple n'est-ce pas ????
Mais ... ça se complique en dehors des dates anniversaires !!!!
-
Si VarJ1+VarJ2 font plus de 31 jours
auquel cas il convient d'ajouter 1 mois et réduire le nombre de jours en conséquence ... (28, 29, 30 ou 31 ???? )
-
Si VarM1+VarM2 font plus de 11 mois
il convient d'ajouter 1 année (sans préoccupation s'il s'agit d'une année de 365 ou 366 jours ???)
et réduire de 12 le nombre de mois .
pour un même âge exprimé par un même nombre de jours on peut donc avoir 4 expressions différentes en années, mois et jours ... !!!