VB-Homepage Tipp 430

Timer / Zeit in Sekunden seit Mitternacht

In vielen Projekten ist es notwendig, in irgendeiner Form Zeiten zu ermitteln.
Vorallem Laufzeiten von Prozessen werden häufig benötigt.
Natürlich können Sie den VB eigenen Timer dafür benutzen, aber richtig glücklich werden Sie damit nicht, denn ist Ihr System mit anderen Dingen beschäftigt,
kann eine Sekunde schnell mal 5 Sekunden lang sein.

Also warum nutzen Sie nicht, was eh schon da ist und dazu noch in Echtzeit.
Im System läuft ein Timer, der die vergangenen Sekunden seit Mitternacht zählt und dessen aktueller Wert ständig ermittelt werden kann.
Wenn Sie also die Differenz einer Start- und einer Endzeit ermitteln wollen, so
könnte das im einfachsten Fall so aussehen.

Startzeit = Timer
' irgendwelche Prozesse
Endzeit = Timer

Differenzzeit = Endzeit - Startzeit

Das Ganze ist aber noch unsauber. Erstens sollten Sie natürlich Ihre Variablen deklarieren. Maxwert des Timers ist 86400, also reicht eine Integer Variable nicht, sonders es bedarf einer Long Variable, die bis zu 2.147.483.648 aufnehmen kann.
Dim Startzeit As Long, Endzeit As Long, Differenzzeit As Long

Da eine Long Variable eine Ganzzahl Variable ist, werden automatisch die Nachkommastellen weggerundet.
Was wir in Differenzzeit erhalten, ist also die Differenz zwischen der Endzeit und der Startzeit in Sekunden.

Für den Fall das diese in ein gebräuchliches Uhrzeitformat umgewandelt werden müssen, gibt es hier noch eine Funktion.

'##################################################
Function umrechnung_timer_zu_uhrzeit(Timerzeit As Long) As String
stunden = Int(Timerzeit / 3600)
minuten = Int((Timerzeit / 60) - (stunden * 60))
sekunden = Int(Timerzeit - ((stunden * 3600) + (minuten * 60)))

If Len(stunden) = 1 Then stunden = "0" & stunden
If Len(minuten) = 1 Then minuten = "0" & minuten
If Len(sekunden) = 1 Then sekunden = "0" & sekunden

umrechnung_timer_zu_uhrzeit = stunden & ":" & minuten & ":" & sekunden
End Function
'##################################################

Funktionsaufruf
DiffUhrzeit = umrechnung_timer_zu_uhrzeit(Differenzzeit)

Tipp-Download

Quelle :

Zurück zur Übersichtsseite