Manchmal wünscht man eine (auffällige?) Anzeige einer Zeitdifferenz in einer angenehmen Text-Darstellung. Die folgende Funktion hat einen recht übersichtlichen Code. Das gewünschte Anzeige-Format kann einfach festgelegt werden. Zwischendurch kann man auch noch andere Sachen erledigen, z,B. farbliche Veränderungen im Formular auslösen/bewerkstelligen... Die Zeitdifferenz wird in Tagen, Stunden, Minuten und Sekunden ausgegeben. Ich benutze das Teil für einen Ebay-Counter (Ende nächstes Angebot). Public Function TimeDiffString2(T_STRT, T_ENDE) As String ' **************************************************************** ' Funktion liefert einen String für Zeit-Differenz T_ENDE - T_STRT ' zB. verwendbar für die Anzeige eines Ebay-Artikel-Counters. ' zB.: "3T 12h 32m 07s" (Tage, Stunden, Minuten und Sekunden) ' ' T_STRT Start-Zeitpunkt (Datumswert incl. Jahr, Tag, Uhrzeit) ' T_ENDE Ende- Zeitpunkt (Datumswert incl. Jahr, Tag, Uhrzeit) ' ' 2013-02-23 Funktion erneuert, vereinfacht ' **************************************************************** On Error GoTo ERR_01 Dim DD As Double ' Zeit-Differenz in Tagen DD = T_ENDE - T_STRT ' evtl. DD = CDate(T_ENDE) - CDate(T_STRT) ' ---- (In den Argumenten der Format-Funktion die gewünschte Form der Anzeige festlegen) ---- Select Case DD Case Is >= 1 ' >= 1Tag Nur Sekunden immer 2-stellig (ss) TimeDiffString2 = CInt(Fix(DD)) & "T " & Format(DD - Fix(DD), "h\h n\m ss\s") Case Is >= 1 / 24 ' >= 1h Nur Sekunden immer 2-stellig (ss) TimeDiffString2 = Format(DD, "h\h n\m ss\s") Case Is >= 1 / 24 / 60 ' >= 1m Nur Sekunden immer 2-stellig (ss) TimeDiffString2 = Format(DD, "n\m ss\s") Case Is >= 1 / 24 / 60 / 60 ' >= 1s Sekunden auch 1-stellig (s) TimeDiffString2 = Format(DD, "s\s") Case Else TimeDiffString2 = "0s" End Select Exit Function ERR_01: MsgBox "TimeDiffString2(T_STRT, T_ENDE): " & Err.Number & vbNewLine & Err.Description End Function Beispielaufruf: ' Zeit-Differenz aktuelle Zeit und End-Zeit Dim vEnd As Variant vEnd = CDate("15.03.2013 10:17:12") MsgBox TimeDiffString2(Now, vEnd) Dieser Tipp wurde bereits 10.532 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. |
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 :-) 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 TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
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. |