cs_Bouha
Messages postés5Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 8 avril 2004
-
7 avril 2004 à 13:18
Whismeril
Messages postés19026Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention20 avril 2024
-
13 août 2013 à 09:48
salut
voilà je cherche à travers un moyen simple s'il existe, de calculer la différence EXACTE entre 2 datetime. Par exemple pour calculer l'âge d'une personne , et qui me permette d'avoir les composantes :
nbre années
nbre mois
nbre jours
par exemple : 55 ans , 3 mois et 17 jours
et ce sans rentrer dans des boucles avec à chaque fois AddMonth et AddDay au final
cs_Bouha
Messages postés5Date d'inscriptionlundi 10 février 2003StatutMembreDernière intervention 8 avril 2004 7 avril 2004 à 17:11
oui mais voilà : le TimeSpan me donne la durée en nbre de jours, et cette durée me sert à rien car j'ai besoin des composantes EXACTES :nbre années , nbre mois et nbre jours entre 2 DateTime !
taharban
Messages postés56Date d'inscriptionlundi 7 juillet 2003StatutMembreDernière intervention14 novembre 2007 8 avril 2004 à 10:27
je pense qu'il ne faut pas passer par un timespan car après tu n'as plus la notion de longueur d'un mois ni d'une année qui tous les deux sont variables (année bissextile ...)
pour résoudre ton proplème, je ferais :
Age.Année = DateNaissance.Year - Aujourd'hui.Year,
idem pour mois et jour
ensuite quelques if pour corriger les jours et mois négatifs
(if( mois < 1) mois+=12; par exemple)
reste à déterminer la longueur du mois précédent dans le cas d'un nombre de jours négatifs, là par contre avec un timespan qui gère très bien les jours.
Regarde ce lien il Calcul le nombre de jours entre deux dates:
http://msdn.microsoft.com/fr-fr/library/576yyx3t%28v=vs.90%29.aspx
Ensuite tu pourras ajouter les jours a une date a défaut)
DateTime dateAge = new DateTime();
dateAge = dateAge.AddDays(differenceInDays);
System.Console.WriteLine("Date : {0} ", dateAge.ToString());