|
Nb de Mois et jours |
|
ds_abderrahim@yahoo.com
|
Salut
Je désire calculer le Nombre du et le nombre des jours entre deux date
Ex du 01/01/2005 Au 28/02/2006 résultat 14 mois 0 Jours Ex du 01/01/2006 Au 17/08/2006 résultat 7 mois 17 Jours
Ex du 18/08/2006 Au 31/12/2005 résultat 4 Mois 13 Jours
Karine
Contribution le : 08/03/2006 01:36
|
|
|
Re: Nb de Mois et jours |
|
Animateur WDF
Inscrit: 05/06/2003 14:23
De Québec
Post(s): 511
|
Salut,
Regarde la fonction DateDifference.
Syntaxe : DateDifference(DateDebut,DateFin) ca te renvois en nombre de jour.
les dates doivent etre en format AAAAMMJJ.
Maintenant pour avoir en nombre de mois + nombre de jours il me semble pas avoir vu de fonction pour ca.
Mais deja avec la fonction citee ci-dessus tu devrais pouvoir avancer :)
a+++
Contribution le : 08/03/2006 03:04
|
|
|
Re: Nb de Mois et jours |
|
DSI WDF
Inscrit: 12/09/2004 11:07
De aude
Post(s): 279
|
bonjour, Sous WD10, il y a la nouvelle focntion "Age()", qui permet me semble t'il de d'obtenir ce genre d'info. Voir l'aide. Bon dev!
Contribution le : 08/03/2006 08:44
|
_________________
...
|
|
Re: Nb de Mois et jours |
|
Fatine
|
La fonction Datedifference(du,Au) donne le nombre de jours cela ne coïncide pas souvent surtout il des mois avec 28 , 30, 31
Fatine
Contribution le : 08/03/2006 10:56
|
|
|
Re: Nb de Mois et jours |
|
Fatine
|
La fonction Age de >WD10 n est pas très précise par
ex Age(01/01/2006, 28/02/2006) = 00000127 càd 1 Mois et 27 Jours.
Ex Age(01/01/2006,31/12/2006) = 00001130 càd 11 Mois et 30 jours
Fatine
Contribution le : 08/03/2006 11:10
|
|
|
Re: Nb de Mois et jours |
|
Animateur WDF
Inscrit: 17/05/2004 14:21
Post(s): 382
|
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.
Contribution le : 08/03/2006 11:19
|
_________________
Mbsl
|
|
Re: Nb de Mois et jours |
|
|
// Tiens si tu veux , j'ai apporté une petite modification qui corrige l'erreur
FONCTION Calcul_Age(_DateNaissance="",_DateButoire=DateSys())
madate est une Date
DatedeFin est une chaîne=EntierVersDate(DateVersEntier(_DateButoire)+1)
// On ajoute un jour à la date butoire car apparament le dernier n'est pas compté dans la fonction
// Ce doit être entre et entre
CalCulRetour est composé de
Annee est un entier
Mois est un entier
Jour est un entier
FIN
madate=Age(_DateNaissance,DatedeFin)
CalCulRetour.Jour =madate..Jour
CalCulRetour.Mois =madate..Mois
CalCulRetour.Annee =madate..Année
RENVOYER CalCulRetour
//Pour récupérer dans la fenêtre
CalculRetour est composé de
annee est un entier
Mois est un entier
Jour est un entier
FIN
CalculRetour=Calcul_Age("20060101","20060131")
Trace("An "+CalculRetour.annee,+...
" Mois "+CalculRetour.mois,+...
" Jour "+CalculRetour.Jour)
et En plus cela fonctionne !!!!
Contribution le : 09/03/2006 10:02
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.