Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD12]-Heures secondes

4 réponses
Avatar
Laurent
Bonjour

Je me débat avec la gestion des heures de windev.
Est-ce que quelqu'un connait la fonction (ou un algo) pour avoir
l'équivalent de la fonction SQL time_to_sec en windev ?
Ca doit être bête mais je suis noyé !

4 réponses

Avatar
paratge
Laurent a écrit :
Bonjour

Je me débat avec la gestion des heures de windev.
Est-ce que quelqu'un connait la fonction (ou un algo) pour avoir
l'équivalent de la fonction SQL time_to_sec en windev ?
Ca doit être bête mais je suis noyé !




Bonjour,

je crois que la fonction HeureSys() fait ça très bien, elle retoure
hhmmsscc donc avec les centièmes, donc pour n'avoir que l'équivalentr de
time_to_sec il te faut faire gauche(HeureSys(),6) qui retoure hhmmss.

La mise ne forme de l'heure se fait avec
HeureVersChaine(gauche(HeureSys(),6)) ou encore
Gauche(HeureVersChaîne("HeureSys()), 8)
on met 8 car en plus des 6 chiffres il y a 2 séparateurs ":"
Avatar
paratge
Laurent a écrit :
Re,

Désolé,
on ne lit jamais assez les consignes :)
tu as parlé de time_to sec et pas de sec_to_time je me suis mélangé les
crayons.

Pour transformer un heure en secondes c'est avec HeureVersEntier() qui
convertit l'heure en centièmes de secondes, donc pour n'avoir que les
secondes, il faut le diviser par 100.
Avatar
Pierre BOUSQUET
PROCEDURE
DateHeureDifferenceVersSecondes(Dth1,Dth2ÚteSys()+HeureSys(),EnCentiemeúux)
SI PAS DateHeureValide(Dth1) OU PAS DateHeureValide(Dth2) ALORS
RENVOYER 0

Dur est une Durée = ChaîneVersDurée(DateHeureDifférence
(Dth1,Dth2),duréeCentième )
Tps est réel =
86400*Dur..Jour+3600*Dur..Heure+60*Dur..Minute+Dur..Seconde

SI EnCentieme ALORS
Tps=Tps+(Val(Droite(Dth2,3))-Val(Droite(Dth1,3)))/1000
FIN

RENVOYER Tps


Laurent a utilisé son clavier pour écrire :
Bonjour

Je me débat avec la gestion des heures de windev.
Est-ce que quelqu'un connait la fonction (ou un algo) pour avoir l'équivalent
de la fonction SQL time_to_sec en windev ?
Ca doit être bête mais je suis noyé !



--
Pierre BOUSQUET

" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Avatar
Laurent
> PROCEDURE
DateHeureDifferenceVersSecondes(Dth1,Dth2ÚteSys()+HeureSys(),EnCentiemeúux)
SI PAS DateHeureValide(Dth1) OU PAS DateHeureValide(Dth2) ALORS RENVOYER 0

Dur est une Durée = ChaîneVersDurée(DateHeureDifférence
(Dth1,Dth2),duréeCentième )
Tps est réel = 86400*Dur..Jour+3600*Dur..Heure+60*Dur..Minute+Dur..Seconde

SI EnCentieme ALORS
Tps=Tps+(Val(Droite(Dth2,3))-Val(Droite(Dth1,3)))/1000
FIN

RENVOYER Tps


Laurent a utilisé son clavier pour écrire :
Bonjour

Je me débat avec la gestion des heures de windev.
Est-ce que quelqu'un connait la fonction (ou un algo) pour avoir
l'équivalent de la fonction SQL time_to_sec en windev ?
Ca doit être bête mais je suis noyé !





Super, ça marche, merci beaucoup à vous deux.