Viele User haben mit dem Berechnen der Zeitdifferenz zweier Uhrzeitangaben enorme Probleme. Dabei stellt uns Visual Basic doch sehr gute und vielseitige Datums- und Zeitfunktionen zur Verüfung. Für das Berechnen der Zeitdifferenz zweier Uhrzeiten nimmt am besten die DateDiff-Funktion. Zu beachten ist hierbei - und genau das wissen viele User nicht - dass man für die Berechnung der Zeitdifferenz auch immer ein gültiges Datum mitangeben muss. Sollen z.B. die vergangenen Minuten zwischen 11:43 Uhr und 16:44 Uhr ausgerechnet werden, dann geht das so: Dim lngMin As Long Dim sDate As String sDate = Format$(Now, "m-d-yy") lngMin = DateDiff("n", CDate(sDate + " 11:43"), _ CDate(sDate + " 16:44")) Als Ergebnis bekommen wir den Wert 301, was 5 Stunden und 1 Minute entspricht. Also alles korrekt. Jetzt kann es aber durchaus vorkommen, dass als zweite Zeitangabe eine Uhrzeit nach 0:00 Uhr vorliegt - z.B. 01:44. Würde man die Zeitdifferenz mit obigen Code berechnen, würde man als Ergebnis -599 bekommen. Also nicht korrekt. Demnach müssen wir diesen Fall noch zusätzlich abfragen: Dim lngMin As Long Dim lngStd As Long Dim sTime1 As String Dim sTime2 As String sTime1 = "11:23" sTime2 = "01:44" ' Zeitdifferen lässt sich nur berechnen, wenn man ' auch ein gültiges Datum mit angibt Dim sDate1 As String Dim sDate2 As String sDate1 = CDate(Format$(Now, "m-d-yy")) ' Wenn sTime2 < sTime1 sDate2 = DateAdd("d", IIf(sTime2 < sTime1, 1, 0), sDate1) ' Zeit-Differenz in Minuten lngMin = DateDiff("n", CDate(sDate1 & " " & sTime1), _ CDate(sDate2 & " " & sTime2)) ' Und jetzt ins Format hh:nn umwandeln lngStd = Int(lngMin / 60) lngMin = lngMin - (lngStd * 60) MsgBox "Zeit-Differenz: " & _ Format$(lngStd, "00") & ":" & Format$(lngMin, "00") Dieser Tipp wurde bereits 70.850 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 sevWizard für VB5/6 Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |