PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Comment vérifier que la date système se situe entre deux dates JJ/MM
Comment vérifier que la date système se situe entre deux dates JJ/MM
Iniciado por Patrick PELISSON, 31,mar. 2020 15:30 - 5 respuestas
Miembro registrado
108 mensajes
Publicado el 31,marzo 2020 - 15:30
Bonjour,
Je butte depuis un moment sur sur un problème de vérification de date. En effet, afin de lancer un traitement, j'ai besoin de savoir si la date du jour se situe entre le 01/04 et le 30/06 par exemple sans prise en compte de l'année...
Si quelqu'un a une petite idée, je suis preneur.
Mon essai détaillé ci-après ne fonctionne pas.

DATE_Verif est une date = datesys()
si DATE_Verif <="01/04" et DATE_Verif >= "30/06" ALORS
//Mon traitement ici
FIN

Bon confinement et soyez vraiment prudent !

--
Patrick PELISSON
Miembro registrado
2.321 mensajes
Publicado el 31,marzo 2020 - 16:47
Bonjour,

DATE_Verif est une date
SI DATE_Verif[[5 A]] <="0401" ET DATE_Verif[[5 A]] >= "0630" ALORS
//Mon traitement ici
FIN


--
Bon dev,
Jean-Pierre
Miembro registrado
2.321 mensajes
Publicado el 31,marzo 2020 - 16:51
Rebonjour,

DATE_Verif est une date
Date_Chaine est chaine = DateVersChaine(DATE_Verif , "MMJJ")
si Date_Chaine <="0401" et Date_Chaine >= "0630" ALORS
//Mon traitement ici
FIN

NB : L'édition de Post ne marche toujours pas….:(

--
Bon dev,
Jean-Pierre
Miembro registrado
499 mensajes
Publicado el 31,marzo 2020 - 17:10
Bonjour,

Attention au sens des conditions utilisées : vous détectez ici si la DateSys() est en dehors de la plage de dates indiquées (inférieure au 1er Avril, supérieure au 30 juin). D'ailleurs, l'utilisation d'un 'ET' ici rend la condition impossible : un jour ne peut pas être inférieur au premier avril ET supérieur au 30 juin en même temps.

Il faut utiliser un code similaire à
sJour est une chaîne = DateVersChaîne(DateSys(),"MMJJ")

SI sJour >= "0401" _ET_ sJour <= "0630" ALORS
// Traitement ici
FIN


Si le 1er Avril et 30 juin sont inclus compris dans la sélection, alors il serait encore plus rapide de faire une vérification sur le mois seulement :
dAujourdhui est une date = DateSys()

SI dAujourdhui..Mois _DANS_(4,5,6) ALORS
// Traitement ici
FIN
Publicado el 31,marzo 2020 - 17:53
Merci Jean-Pierre pour la réponse.

Voici le code que j'ai mis en place et cela semble fonctionner… (exemple du 1er Avril au 30 juin)
D_Test est une date = DateSys()
si D_Test >="0401" et D_Test<="0630" alors
//Ici mon traitement
FIN

Je vais finir de tester cela et reviendrai sur le forum pour vous tenir informé...
Publicado el 31,marzo 2020 - 19:44
Mille excuses, le code recopié était faux…
Voici le bon avec une vérification pour savoir si la date du jour se situe entre le 8 Mars et le 20 Mai
dDat_Test est une Date = Droite(DateDuJour(),4)
SI dDat_Test>="0308" ET dDat_Test<="0520" ALORS
//Mon traitement ici
FIN


Merci à tous