PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → soustraction d'heure par temps
soustraction d'heure par temps
Débuté par karimou, 25 fév. 2021 09:37 - 9 réponses
Membre enregistré
78 messages
Posté le 25 février 2021 - 09:37
Bonjour,

Je suis désolé mais j'ai cherché et n'ai pas trouvé ce dont je cherche pourtant c'est tous bête mais j'arrive pas à avoir de résultat.

J'ai une heure ex : 17:30 et je voudrais lui enlevé 45 minute ce qui donnerait 16:45 mais je n'arrive pas à avoir ce résultat je cherche depuis hier et franchement j'ai un peu honte de faire cette demande car sur que c'est tous bête mais je ne trouve pas.

Avec les durée c'est plus du diff entre 17:30 et 16:45 que je trouverais 45 mais pas l'inverse.

donc je voudrais enlevé un temps à une heure 17:30 moins 30 minute j'arrive en faisant
tmpHeur="1730"
tmpHPause="0030"
tmpHtt=tmpHeur..Heure-tmpHPause..Heure
tmpHtt=tmpHeur..Minute-tmpHPause..Minute


mais si c'est 17:30 - 45 sa ne fonctionne pas

tmpHeur="1730"
tmpHPause="0045"
tmpHtt=tmpHeur..Heure-tmpHPause..Heure
tmpHtt=tmpHeur..Minute-tmpHPause..Minute


car 30-45 pas possible pour les minute

Merci de votre aide
Membre enregistré
78 messages
Posté le 25 février 2021 - 09:46
Bon après une illumination j'ai trouvé ça même si c'est pas sexy

tmpHeur="1730"
tmpHPause="0045"
tmpe1,tmpe2,tmpe3 sont des entiers
tmpe1= HeureVersEntier(tmpHeur)
tmpe2= HeureVersEntier(tmpHPause)
tmpe3=tmpe1-tmpe2
tmpHtt= EntierVersHeure(tmpe3)


Si il y a mieux je suis preneur désolé du dérangement.
Membre enregistré
1 002 messages
Posté le 25 février 2021 - 09:57
Bonjour,

Et ca ?

tmpHeur est un heure ="1730"
tmpHeur..minute -= 45


jordan
Membre enregistré
42 messages
Posté le 25 février 2021 - 10:10
voir l'aide sur les fonctions des heures:
https://doc.pcsoft.fr/fr-FR/?1514040
Membre enregistré
291 messages
Posté le 25 février 2021 - 10:33
Bonjour

Pourquoi ne pas employer la variable de type "durée" ?

Bien cordialement
Membre enregistré
78 messages
Posté le 25 février 2021 - 10:56
Merci à tous et surtout à Jordan quand j'ai vue ta réponse "comment je n'y ai pas pensé" logique.
Un bon café dans une terrasse me ferais du bien, merde c'est pas possible

Merci encore
Jordan a écrit :
Bonjour,

Et ca ?

tmpHeur est un heure ="1730"
tmpHeur..minute -= 45


jordan
Membre enregistré
4 361 messages
Posté le 25 février 2021 - 10:57
Bonjour,
Gemini1961 a écrit :
Pourquoi ne pas employer la variable de type "durée" ?

C'est même ce qu'il faut faire. Une pause dure 45 min, c'est donc une durée

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
356 messages
Posté le 25 février 2021 - 19:53
Bonjour Voroltinquo

> C'est même ce qu'il faut faire. Une pause dure 45 min, c'est donc une durée

Pourquoi cela ?
La solution donnée par Jordan marche très bien.

--
Francis MOREL
http://www.SoftProtect.fr
Membre enregistré
4 361 messages
Posté le 25 février 2021 - 20:50
Dans ce cas de figure.
Si la pause dure 1h05 il faut convertir tout ça en min.

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
356 messages
Posté le 26 février 2021 - 18:12
> Si la pause dure 1h05 il faut convertir tout ça en min.

Et pourquoi ne pas simplement généraliser le code de Jordan avec :
tmpHeur est un Heure = "1730"
tmppause est un Heure = "0145"
tmpHeur..Minute -= tmppause..Minute
tmpHeur..Heure -= tmppause..Heure
Trace(HeureVersChaîne(tmpHeur))


--
Francis MOREL
http://www.SoftProtect.fr