Comment calculer le nombre de mois séparant deux dates ? [Résolu]

Signaler
Messages postés
22
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
26 mars 2005
-
Messages postés
22
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
26 mars 2005
-
Bonjour,



j'aimerai savoir s'il existe un moyen de calculer le nombre de mois qui sépare deux dates.



j'ai

DateAcq, DateDebEx : string;

DateAcq := TxtDateAcq.text;

DateDebEx := TxtDateDebEx.text;

proratadeg := MonthsBetween(StrTodate(DateAcq), StrTodate(DateDebEx));



la fonction marche, mais le problème est que j'aimerai calculer en mois et non pas en jour.

Par exemple, si j'ai

DateAcq := 24/03/05;

DateDebEx := 01/01/06;



proratadeg est égal à 9 alors que
je voudrais trouver 10 (c'est à dire que le numéro du jour ne compte
pas, juste le mois et l'année).

5 réponses

Messages postés
1154
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
5 avril 2012
2
Bonjour

Variables ajoutées :

AnneeAcq, MoisAcq, JourAcq : Word ;
AnneeDebEx, MoisDebEx, JourDebEx: Word ;

Code :

DecodeDate(StrTodate(DateAcq),AnneeAcq,MoisAcq,JourAcq);
DecodeDate(StrTodate(DateDebEx),AnneeDebEx,MoisDebEx,JourDebEx);


proratadeg := 12 * ( AnneeDebEx - AnneeAcq ) - MoisAcq + MoisDebEx ;

Cordialement.
Messages postés
1724
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2020
6
Simple, logique et efficace...

Excellent, ce code, WhiteHippo.



Bonne prog'
Messages postés
1154
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
5 avril 2012
2
Merci japee.
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
"proratadeg est égal à 9 alors que je voudrais trouver 10"

Si l'on regarde l'exemple donné, l'écart est bien de neuf mois ...et 8 jours.
Entre ce que le fonction renvoie et ce que tu souhaites obtenir, il y discordance.

Le code proposé par WhiteHippo est donc parfaitement adapté à ce que tu recherches. Saluons sa proposition intéressante.


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Messages postés
22
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
26 mars 2005

Merci beaucoup pour ton aide
WhiteHippo, ta proposition simple et compréhensible règle mon problème !