begin process at 2008 08 29 01:06:05
1 233 465 membres
8 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

FONCTION DE CALCUL DE DIFFÉRENCE D'UNE HEURE À UNE AUTRE


Information sur la source

Description

Cette fonction sert à calculer  un ecart de temps entre deux moments.
(Début d'une procédure et fin de celle ci par excemple )
la meilleure explication de cette fonction et le code suivant
time1=time()                 time1=heure système
time2=time()                 time2=heure système
toto=dift(time2,time1)         toto =   le temps que vous aurez mis à valider
                                                        les deux  lignes

?toto     donnera  "00000:00:02"

toto est bien une chaine de caractère.
Les deux sous fonctions servent à  convertir du temps en numérique (temvern)
et convertir le numérique vers le temps (nvertem)

Source

  • procedure dift
  • parameters t1,t2
  • local heu,min1,s,h2,min2,sec2,r,rh1,rs1,rh,rm,rs,retour
  • rh=0
  • rm=0
  • rs=0
  • heu=substr(t1,1,(at(":",t1)-1))
  • min1=substr(t1,4,2)
  • s=substr(t1,7,2)
  • heu=val(heu)
  • min1=val(min1)
  • s=val(s)
  • heu=heu*60
  • min1=min1*60
  • s=s+min1+(heu*60)
  • h2=substr(t2,1,(at(":",t2)-1))
  • min2=substr(t2,4,2)
  • sec2=substr(t2,7,2)
  • h2=val(h2)
  • min2=val(min2)
  • sec2=val(sec2)
  • h2=h2*60
  • min2=min2*60
  • sec2=sec2+min2+(h2*60)
  • if sec2>s
  • r=sec2-s
  • else
  • r=s-sec2
  • endif
  • retour=nvertem(r)
  • return retour
  • function temvern
  • parameters temp1
  • local s,m,h
  • s=substr(temp1,len(temp1)-1,2)
  • s=val(s)
  • m=substr(temp1,len(temp1)-4,2)
  • m=val(m)*60
  • h=substr(temp1,1,len(temp1)-6)
  • h=val(h)*3600
  • retour=h+m+s
  • return retour
  • function nvertem
  • parameters temp1
  • local s,m,h
  • h=int(temp1/3600)
  • resth=mod(temp1,3600)
  • m=int((resth)/60)
  • restm=mod(m,60)
  • s=int(mod(resth,60))
  • return padl(h,5,"0")+":"+padl(m,2,"0")+":"+padl(s,2,"0")
procedure dift
parameters t1,t2
local heu,min1,s,h2,min2,sec2,r,rh1,rs1,rh,rm,rs,retour
rh=0
rm=0
rs=0
heu=substr(t1,1,(at(":",t1)-1))
min1=substr(t1,4,2)
s=substr(t1,7,2)
heu=val(heu)
min1=val(min1)
s=val(s)
heu=heu*60
min1=min1*60
s=s+min1+(heu*60)
h2=substr(t2,1,(at(":",t2)-1))
min2=substr(t2,4,2)
sec2=substr(t2,7,2)
h2=val(h2)
min2=val(min2)
sec2=val(sec2)
h2=h2*60
min2=min2*60
sec2=sec2+min2+(h2*60)
if sec2>s
r=sec2-s
else
r=s-sec2
endif
 


retour=nvertem(r)
return retour


function temvern
parameters temp1
local s,m,h
s=substr(temp1,len(temp1)-1,2)
s=val(s)
m=substr(temp1,len(temp1)-4,2)
m=val(m)*60
h=substr(temp1,1,len(temp1)-6)
h=val(h)*3600
retour=h+m+s
return retour


function nvertem
parameters temp1
local s,m,h
h=int(temp1/3600)
resth=mod(temp1,3600)

m=int((resth)/60)
restm=mod(m,60)

s=int(mod(resth,60))


return padl(h,5,"0")+":"+padl(m,2,"0")+":"+padl(s,2,"0")


  • signaler à un administrateur
    Commentaire de Mike Gagnon le 03/11/2004 11:38:59

    Un autre solution possible?

    Var1 = time()  && 05:19:05 AM
    Var2 = time()  && 05:19:12 AM

    Var3 = CTOT(var2)-CTOT(var1)

    ? Var3 && Donne 7 secondes.

  • signaler à un administrateur
    Commentaire de aumeric le 03/11/2004 22:56:08

    Bonjour
    Votre suggestion renvoie une variavble var 3
    qui vaut 65 pour une minute et5 seconde.


    La mienne renverra XX:MM:SS
    ou xx sont les heures
    mm les minutes
    ss les secontes.


    cordialement

    Eric

Ajouter un commentaire

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS