Re: Nb de Mois et jours

Posté par mbsl le 8/3/2006 11:19:04
Bonjour,

Vous pouvez vous inspirer de

PROCEDURE PL_MoisJour(P_DateDeb,P_DateFin,PS_NbMois,PS_NbJour)

// Déclaration
W_D_DateDeb est une Date 	= P_DateDeb
W_D_DateFin est une Date 	= P_DateFin
W_B_Fin		est un  booléen = Faux
W_D_DateW	est une Date	= W_D_DateDeb
W_E_OldMois	est un  entier	= W_D_DateW..Mois
W_E_NbMois	est un  entier  = 0
W_E_NbJour	est un  entier  = 0


// Contrôle
SI P_DateDeb > P_DateFin OU PAS DateValide(P_DateDeb) OU PAS DateValide(P_DateFin) ALORS
	RETOUR
FIN


TANTQUE PAS W_B_Fin
	
	W_D_DateW..Jour ++
		
	SI W_D_DateW..Mois <> W_E_OldMois ET W_D_DateDeb..Jour = W_D_DateW..Jour ALORS		
		W_E_NbMois ++
		W_E_OldMois = W_D_DateW..Mois		
		W_E_NbJour	= 0
	SINON
		W_E_NbJour ++
	FIN	
	
	W_B_Fin = (W_D_DateW = W_D_DateFin)		
FIN

PS_NbJour 	= W_E_NbJour
PS_NbMois	= W_E_NbMois


J'obtiens cependant les mêmes résultats que age(...), à vous de jouer désormais pour adapter ce code à vos attentes.

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=3670&post_id=15470