Comment calculer le nombre de mois séparant deux dates ?

Résolu
Nefret Messages postés 24 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 26 mars 2005 - 24 mars 2005 à 17:06
Nefret Messages postés 24 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 26 mars 2005 - 26 mars 2005 à 16:13
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).
A voir également:

5 réponses

WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
24 mars 2005 à 17:35
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.
3
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
24 mars 2005 à 19:18
Simple, logique et efficace...

Excellent, ce code, WhiteHippo.



Bonne prog'
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
24 mars 2005 à 20:32
Merci japee.
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
25 mars 2005 à 23:29
"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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nefret Messages postés 24 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 26 mars 2005
26 mars 2005 à 16:13
Merci beaucoup pour ton aide
WhiteHippo, ta proposition simple et compréhensible règle mon problème !
0
Rejoignez-nous