Bonjour à tous,
J'essaye de calculer la différence entre 2 dates, en 3 unités de mesure (Année/Mois/Jours)
Un exemple plus parlant :
La différence entre 01/01/2012 et 02/02/2013 est de 1 an, 1 mois, et 1 jour.
J'ai essayé plusieurs méthodes, la dernière en date étant :
Qui aurait pu convenir sauf dans le cas où le jour de Date1 est en fin de mois et celui de Date2 en début de mois ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Dim datedebut As Date = New Date(1992, 1, 28) Dim datefin As Date = New Date(2009, 9, 1) Dim resultatAnnee As Decimal Dim resultatMois As Decimal Dim resultatJours As Decimal Dim totaljours As Long Dim totalmois As Long Dim totalannee As Long totaljours = DateDiff(DateInterval.DayOfYear, datedebut, datefin) totalmois = DateDiff(DateInterval.Month, datedebut, datefin) totalannee = DateDiff(DateInterval.Year, datedebut, datefin) resultatAnnee = totalannee resultatMois = totalmois - (totalannee * 12) resultatJours = Math.Round(CDec((totaljours - (totalannee * 365.2425) - (resultatMois * 30.41666666667)))) MsgBox(resultatAnnee.ToString & " ans " & resultatMois.ToString & " mois " & resultatJours.ToString & " jours") 'Retourne 17 ans, 8mois et -26 jours ...
Est-ce quelqu'un aurait une petite idée ?
En vous remerciant d'avance !
Partager