Avatar billede sion Nybegynder
04. december 2002 - 18:26 Der er 5 kommentarer og
1 løsning

Sammenligning af 2 tider

Jeg skal bruge en kode der kan vise forskellen mellem 2 tider i hh:mm:ss - sådan at f.eks. sekundtælleren ikke bliver over 59 osv.
-Sion
Avatar billede driis Nybegynder
04. december 2002 - 18:40 #1
Dim tid1 As Date
        Dim tid2 As Date
        Dim hrs As Int16
        Dim min As Int16
        Dim sec As Int16

        Dim diffStr As String

        tid1 = CDate("13:47:02")
        tid2 = CDate("14:32:55")

        hrs = DateDiff(DateInterval.Hour, tid1, tid2)
        min = DateDiff(DateInterval.Minute, tid1, tid2) - (60 * hrs)
        sec = DateDiff(DateInterval.Second, tid1, tid2) - (60 * min)

        diffStr = CStr(hrs) & ":" & CStr(min) & ":" & CStr(sec)

        Debug.WriteLine(diffStr)
Avatar billede driis Nybegynder
04. december 2002 - 18:42 #2
Sådan kunne man gøre. Der er brugt VB .NET syntaks - hvis du bruger VB 6, skal DateInterval.Hour ændres til den tilsvarende konstant; det kan du slå op i dokumentationen.
Avatar billede sion Nybegynder
04. december 2002 - 18:56 #3
driis -> Returnere HELE tidsintervallet i både timer, minutter og sekunder... Altså bliver 13:30:30->14:45:45 til 1:60:81175... ikke helt det ønskede resultat ;)
Avatar billede driis Nybegynder
04. december 2002 - 19:04 #4
Hmm, det gjorde det da, da jeg testede. Hvordan ser din kode ud ?
Avatar billede sion Nybegynder
04. december 2002 - 19:28 #5
Ligesom din, blot med nogle få ændringer så kode kunne køres i VB6:

Private Sub Command1_Click()
        Dim tid1 As Date
        Dim tid2 As Date
        Dim hrs As Integer
        Dim min As Integer
        Dim sec As Integer

        Dim diffStr As String

        tid1 = CDate("13:30:30")
        tid2 = CDate("14:45:45")

        hrs = DateDiff("h", tid1, tid2)
        min = DateDiff("m", tid1, tid2) - (60 * hrs)
        sec = DateDiff("s", tid1, tid2) - (60 * min)

        diffStr = CStr(hrs) & ":" & CStr(min) & ":" & CStr(sec)

        Me.Caption = diffStr
End Sub
Avatar billede sion Nybegynder
04. december 2002 - 19:45 #6
Yeah Baby!!! Jeg fandt funktionen 'TimeValue' der kan sammenligne to tider... Min kode (testbasis - men det virker :D):

Time1 = Text1.Text
Time2 = Text2.Text

Diff = TimeValue(Time2) - TimeValue(Time1)

Hourdiff = Hour(Diff)
Mindiff = Minute(Diff)
SecDiff = Second(Diff)

Text3.Text = Hourdiff
Text4.Text = Mindiff
Text5.Text = SecDiff

------------------------------
Ellers tak for hjælpen driis!
-Sion
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester