bonjour,
sans doute avez-vous remarqué qu'entre avril 2005 et décembre 2006 : il y
a 20 mois et pas 22 mois ( sans ordinateur , on y arrive ! |
)
ci-dessous une petite fonction qui vous aidera , je l'espère :
// -
PROCEDURE PUBLIQUE GLOBALE gDatesVersNbMois(_dDébut est Date, _dFin est
Date)
nNbMois est un entier = Abs(((dFin..Année - dDébut..Année) * 12) +
(dFin..Mois - dDébut..Mois))
RENVOYER nNbMois
// - Petit test
dDébut est une date = "20050422"
dFin est une date = "20061204"
info(gDatesVersNbMois(dDébut, dFin)) // Affiche : 20
// maintenant avec dDébut = "20070101"
la fonction retourne 1 et non pas -1 car dDébut est postérieure à dFin
c'est l'intérêt d'utiliser la fonction WL.Abs() pour renvoyer un entier
positif (ou 0)
bon dev.
JM