|
| Iniciado por cf2icourrier, 01,mar. 2019 13:37 - 6 respuestas |
| |
| | | |
|
| |
| Publicado el 01,marzo 2019 - 13:37 |
Bonjour La fonction Age est intéressante mais elle m'intrigue. Quelqu'un saurait me justifier pourquoi dans cet exemple, le nombre de jours reste identique sur 4 dates séparées d'un jour entre elles ?
Aujourd'hui : 01/03/2019 01/03/2019 0 0 0 01/02/2019 0 1 0 31/01/2019 0 1 0 30/01/2019 0 1 0 29/01/2019 0 1 0 28/01/2019 0 1 1 27/01/2019 0 1 2
dateAge est Date Date est Date Trace("Aujourd'hui : "+DateVersChaîne(DateSys())) Date= DateSys() dateAge = Age (Date,DateSys()) Trace(DateVersChaîne(Date)+" "+ dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190228" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190201" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190131" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190130" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190129" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190128" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190127" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) |
| |
| |
| | | |
|
| | |
| |
| Publicado el 01,marzo 2019 - 18:05 |
Après mûre réflexion, elpato a écrit :
Bonjour La fonction Age est intéressante mais elle m'intrigue. Quelqu'un saurait me justifier pourquoi dans cet exemple, le nombre de jours reste identique sur 4 dates séparées d'un jour entre elles ? Aujourd'hui : 01/03/2019 01/03/2019 0 0 0 01/02/2019 0 1 0 31/01/2019 0 1 0 30/01/2019 0 1 0 29/01/2019 0 1 0 28/01/2019 0 1 1 27/01/2019 0 1 2 dateAge est Date Date est Date Trace("Aujourd'hui : "+DateVersChaîne(DateSys())) Date= DateSys() dateAge = Age (Date,DateSys()) Trace(DateVersChaîne(Date)+" "+ dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190228" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190201" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190131" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190130" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190129" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190128" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour) Date="20190127" dateAge = Age (Date,DateSys()) Trace( DateVersChaîne(Date)+" "+dateAge..Année, dateAge..Mois, dateAge..Jour)
Bonjour,
La fonction Age ne retourne pas une date mais une chaîne au format AAAAMMJJ.
Cordialement.
Patrick Bouquet |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 101 mensajes |
|
| Publicado el 01,marzo 2019 - 18:52 |
Salut,
En effet, c'est étonnant, car un calcul de durée entre ces mêmes dates, donnent bien 28, 29, 30 et 31 jours d'écart Mais quand on additionne chaque date de départ avec la durée calculée, on obtient à chaque fois 01/03/2019
du1 est une Durée du2 est une Durée du3 est une Durée du4 est une Durée D1 est une Date D2 est une Date = "20190201" D3 est une Date D1 = DateDuJour D2 = "20190201" du1 = D1 - D2 D3 = D2 + du1 Trace( D3 ) Trace( du1 ) D1 = DateDuJour D2 = "20190131" du2 = D1 - D2 D3 = D2 + du2 Trace( D3 ) Trace( du2 )
D1 = DateDuJour D2 = "20190130" du3 = D1 - D2 D3 = D2 + du3 Trace( D3 ) Trace( du3 )
D1 = DateDuJour D2 = "20190129" du4 = D1 - D2 D3 = D2 + du4 Trace( D3 ) Trace( du4 )
Trace:
20190301 28000000000 20190301 29000000000 20190301 30000000000 20190301 31000000000
Je pense qu'il doit y avoir une "verrue" bugguée dans la gestion des dates avec les 28 jours du mois de février
-- @+ Maax°(51)° |
| |
| |
| | | |
|
| | |
| |
| Publicado el 01,marzo 2019 - 19:06 |
An utilisant des variables de type chaine on obtient un résultat correct
Date_Age est une chaîne Date_Debut est une chaîne="20190228" Date est une chaîne=Date_Debut Trace("Date de départ : "+DateVersChaîne(Date)) POUR Incr=1 À 10 Date_Age = Age (Date,Date_Debut) Trace(DateVersChaîne(Date)+" "+Date_Age+" "+ Date_Age[[1 À 4]], Date_Age[[5 À 6]], Date_Age[[7 À 8]]) Date=EntierVersDate(DateVersEntier(Date)-1) FIN
Trace Date de départ : 28/02/2019 28/02/2019 00000000 0000 00 00 27/02/2019 00000001 0000 00 01 26/02/2019 00000002 0000 00 02 25/02/2019 00000003 0000 00 03 24/02/2019 00000004 0000 00 04 23/02/2019 00000005 0000 00 05 22/02/2019 00000006 0000 00 06 21/02/2019 00000007 0000 00 07 20/02/2019 00000008 0000 00 08 19/02/2019 00000009 0000 00 09 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 02,marzo 2019 - 11:29 |
Bonjour
A Maax(53):
Non le bug demeure avec le mois de février. Par exemple : Le calcul démarre à compter du 02/03/2019. Pour le 02/02/2019: 1 mois pile (correct) Pour le 01/02: 1 mois + 1 jour (correct) pour le 31/01 : 1 mois + 1 jour (donc incorrect) pour le 30/01 : 1 mois + 1 jour (donc incorrect) pour le 29/01 : 1 mois + 1 jour (donc incorrect) pour le 28/01 : 1 mois + 2 jours au lieu de 1 mois + 5 jours. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3.786 mensajes |
|
| Publicado el 03,marzo 2019 - 05:45 |
La réponse est dans l'aide. La première date dans la fonction doit être inférieur a la deuxième. |
| |
| |
| | | |
|
| | |
| |
| Publicado el 03,marzo 2019 - 13:49 |
Oui, c'est le cas... : la première date est bien inférieure à la seconde voir exemple. De toutes façons, si date1 > date2 , la fonction renvoie une chaine vide. Donc il y a bien un souci je pense. |
| |
| |
| | | |
|
| | | | |
| | |
|