Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MiF
"B. Neve" a écrit dans le message de news:409ac003$0$22820$
Petit casse-tete ?
Comment SANS boucle mais par opérations mathématiques arriver à connaître
le
nombre de samedis ou de dimanches ou les deux entre deux dates.
Variable 1 = 20040502 Variable 2 = 20040510
Nbre de dimanches ? Nbre de samedis ?
Amusant non ? Je répète... Pas de boucle, ce serait évidemment trop simpliste...
Je n'ai évidemment pas la réponse puisque je vous le pose...
Benoit
Le code ci-dessous à l'air de fonctionner. On comptabilise le nombre de semaines qui sépare les deux dates. Ensuite selon la position de chaque journée dans la 1ère et dernière semaine on incrémente ou décrémente le nombre de samedis.
J'avoue ne pas avoir passé énormément de temps à tester, il est possible que certaines exceptions ne soient pas gérées... Le cas où les deux dates ne sont pas dans la même année n'est pas géré (mais ce n'est pas compliqué, il faut calculer la vairable NbSem en tenant compte du changement d'année). -----------------------
date1 est chaîne = "20040502" date2 est chaîne = "20040510"
numjour1 est entier = EntierVersJour(DateVersEntier(date1)) numjour2 est entier = EntierVersJour(DateVersEntier(date2))
nbsem est entier DateVersNumeroDeSemaine(date2)-DateVersNumeroDeSemaine(date1) NbSamedi est entier = nbsem
SI numjour1<=6 ALORS NbSamedi++ SI numjour2<=6 ALORS NbSamedi--
Info(NbSamedi)
"B. Neve" <bne@dagico.com> a écrit dans le message de
news:409ac003$0$22820$a0ced6e1@news.skynet.be...
Petit casse-tete ?
Comment SANS boucle mais par opérations mathématiques arriver à connaître
le
nombre de samedis ou de dimanches ou les deux entre deux dates.
Variable 1 = 20040502
Variable 2 = 20040510
Nbre de dimanches ?
Nbre de samedis ?
Amusant non ? Je répète... Pas de boucle, ce serait évidemment trop
simpliste...
Je n'ai évidemment pas la réponse puisque je vous le pose...
Benoit
Le code ci-dessous à l'air de fonctionner. On comptabilise le nombre de
semaines qui sépare les deux dates. Ensuite selon la position de chaque
journée dans la 1ère et dernière semaine on incrémente ou décrémente le
nombre de samedis.
J'avoue ne pas avoir passé énormément de temps à tester, il est possible que
certaines exceptions ne soient pas gérées...
Le cas où les deux dates ne sont pas dans la même année n'est pas géré (mais
ce n'est pas compliqué, il faut calculer la vairable NbSem en tenant compte
du changement d'année).
-----------------------
date1 est chaîne = "20040502"
date2 est chaîne = "20040510"
numjour1 est entier = EntierVersJour(DateVersEntier(date1))
numjour2 est entier = EntierVersJour(DateVersEntier(date2))
nbsem est entier DateVersNumeroDeSemaine(date2)-DateVersNumeroDeSemaine(date1)
NbSamedi est entier = nbsem
SI numjour1<=6 ALORS NbSamedi++
SI numjour2<=6 ALORS NbSamedi--
"B. Neve" a écrit dans le message de news:409ac003$0$22820$
Petit casse-tete ?
Comment SANS boucle mais par opérations mathématiques arriver à connaître
le
nombre de samedis ou de dimanches ou les deux entre deux dates.
Variable 1 = 20040502 Variable 2 = 20040510
Nbre de dimanches ? Nbre de samedis ?
Amusant non ? Je répète... Pas de boucle, ce serait évidemment trop simpliste...
Je n'ai évidemment pas la réponse puisque je vous le pose...
Benoit
Le code ci-dessous à l'air de fonctionner. On comptabilise le nombre de semaines qui sépare les deux dates. Ensuite selon la position de chaque journée dans la 1ère et dernière semaine on incrémente ou décrémente le nombre de samedis.
J'avoue ne pas avoir passé énormément de temps à tester, il est possible que certaines exceptions ne soient pas gérées... Le cas où les deux dates ne sont pas dans la même année n'est pas géré (mais ce n'est pas compliqué, il faut calculer la vairable NbSem en tenant compte du changement d'année). -----------------------
date1 est chaîne = "20040502" date2 est chaîne = "20040510"
numjour1 est entier = EntierVersJour(DateVersEntier(date1)) numjour2 est entier = EntierVersJour(DateVersEntier(date2))
nbsem est entier DateVersNumeroDeSemaine(date2)-DateVersNumeroDeSemaine(date1) NbSamedi est entier = nbsem
SI numjour1<=6 ALORS NbSamedi++ SI numjour2<=6 ALORS NbSamedi--
Info(NbSamedi)
Gilles G.
In article <409ac003$0$22820$, says...
Petit casse-tete ?
Comment SANS boucle mais par opérations mathématiques arriver à connaître le nombre de samedis ou de dimanches ou les deux entre deux dates. Variable 1 = 20040502 Variable 2 = 20040510 Nbre de dimanches ? Nbre de samedis ? Amusant non ? Je répète... Pas de boucle, ce serait évidemment trop simpliste... Je n'ai évidemment pas la réponse puisque je vous le pose...
Allez au pif,
un date différence entre les deux dates tu divises par 7 tu prends la partie entière ca te donne le nombre de semaine complètes écoulées.
Ensuite tu vérifies si la date de départ est un samedi. ou un dimanche pour ajouter ou retirer 1 au nombre de semaines, et idem pour la date de fin.
Je ne suis pas sûr à 100% de l'exactiture, ca sort d'un cerveau au réveil ;-) Mais à partir de ça, tu devrais t'en sortir sans boucle ;)
In article <409ac003$0$22820$a0ced6e1@news.skynet.be>, bne@dagico.com
says...
Petit casse-tete ?
Comment SANS boucle mais par opérations mathématiques arriver à connaître le
nombre de samedis ou de dimanches ou les deux entre deux dates.
Variable 1 = 20040502
Variable 2 = 20040510
Nbre de dimanches ?
Nbre de samedis ?
Amusant non ? Je répète... Pas de boucle, ce serait évidemment trop
simpliste...
Je n'ai évidemment pas la réponse puisque je vous le pose...
Allez au pif,
un date différence entre les deux dates
tu divises par 7
tu prends la partie entière
ca te donne le nombre de semaine complètes écoulées.
Ensuite tu vérifies si la date de départ est un samedi. ou un dimanche
pour ajouter ou retirer 1 au nombre de semaines, et idem pour la date de
fin.
Je ne suis pas sûr à 100% de l'exactiture, ca sort d'un cerveau au
réveil ;-) Mais à partir de ça, tu devrais t'en sortir sans boucle ;)
Comment SANS boucle mais par opérations mathématiques arriver à connaître le nombre de samedis ou de dimanches ou les deux entre deux dates. Variable 1 = 20040502 Variable 2 = 20040510 Nbre de dimanches ? Nbre de samedis ? Amusant non ? Je répète... Pas de boucle, ce serait évidemment trop simpliste... Je n'ai évidemment pas la réponse puisque je vous le pose...
Allez au pif,
un date différence entre les deux dates tu divises par 7 tu prends la partie entière ca te donne le nombre de semaine complètes écoulées.
Ensuite tu vérifies si la date de départ est un samedi. ou un dimanche pour ajouter ou retirer 1 au nombre de semaines, et idem pour la date de fin.
Je ne suis pas sûr à 100% de l'exactiture, ca sort d'un cerveau au réveil ;-) Mais à partir de ça, tu devrais t'en sortir sans boucle ;)