Zeitdifferenz richtig Ausgeben!

  • VB.NET
  • .NET 2.0

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Zeitdifferenz richtig Ausgeben!

    Moin! :)
    Ich habe drei Labels.
    1. Label mit der aktuelle Systemzeit.
    2. Label mit einer Uhrzeit & Datum diese noch in der Zukunft liegt.
    Nun möchte ich, wenn man auf den Button „Aktualisieren!“ klickt.
    Das im dritten Label die Verbleibende Zeit angezeigt wird(Rot).
    Habe schon vieles ausprobiert und gegoogelt.
    Aber noch keine sinvolle Lösung gefunden.
    Kann mir bitte jemand helfen?
    BIG THX

    Visual Basic.NET 8o
    MS-SQL
    8o
    Sieh Dir mal die TimeSpan-Struktur an. Diese erhälst Du, wenn Du z. B. 2 Datumsangaben voneinander subtrahierst. In dieser Struktur sind dann alle Parameter vorhanden, die Du brauchst.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    How to turn OPTION STRICT ON
    Why OPTION STRICT ON
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    @SpaceyX @RodFromGermany
    Vielen Dank, für eure Hilfe. :thumbup:
    Ich habe das Problem nun gelöst.
    Für alle die auch das gleiche Problem haben.
    Hier mein Code:

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class Form1
    3. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    4. 'Dim tp1 As New TimeSpan(DateTime.Parse(Label1.Text).Ticks)
    5. Dim tp1 As New TimeSpan(Now.Ticks)
    6. Dim tp2 As New TimeSpan(DateTime.Parse(Label2.Text).Ticks)
    7. tp1 = tp2.Subtract(tp1)
    8. If tp1.Days <> 0 Then
    9. Me.Label3.Text = String.Format("Verbleibend:{0}{1} Tage und {2} Stunden und {3} Minuten und {4} Sekunden." _
    10. , vbNewLine, tp1.Days, tp1.Hours, tp1.Minutes, tp1.Seconds)
    11. Else
    12. Me.Label3.Text = String.Format("Verbleibend:{0}{1} Stunden und {2} Minuten und {3} Sekunden." _
    13. , vbNewLine, tp1.Hours, tp1.Minutes, tp1.Seconds)
    14. End If
    15. End Sub
    16. End Class
    Visual Basic.NET 8o
    MS-SQL
    8o
    Da ist doch immer noch der VB6-Namespace drin. Probier das hier mach mal:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Dim TimeUntilAppExpires = Date.Parse(Label2.Text)
    3. Dim RemainingTime = Date.Now - TimeUntilAppExpires
    4. If RemainingTime.Days <> 0 Then
    5. Me.Label3.Text = $"Verbleibend:{Environment.NewLine}{RemainingTime.Days} Tage und {RemainingTime.Hours} Stunden und {RemainingTime.Minutes} Minuten und {RemainingTime.Seconds} Sekunden."
    6. Else
    7. Me.Label3.Text = $"Verbleibend:{Environment.NewLine}{RemainingTime.Hours} Stunden und {RemainingTime.Minutes} Minuten und {RemainingTime.Seconds} Sekunden."
    8. End If
    9. End Sub
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    @VaporiZed @Cheffboss arbeitet mit Framework 2.0, soll vorkommen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    @VaporiZed
    Ich habe den Code mit .NET Framework 2.00 getestet. - Seltsamer weiße Funktioniert es auch damit. :S
    Vielleicht weil ich Visual Studio 2017 verwende.
    Aber egal, Vielen Dank! :thumbup:
    Der Code von dir ist, übersichtlicher und besser zu verstehen.
    Visual Basic.NET 8o
    MS-SQL
    8o
    @petaod Jou. Ich denk mal, dass das ein Fehldesign ist.
    Jetzt eben fängt er an, aufzuräumen.
    Möglicherweise glaubt er, dasser nach diesem Schritt bereits fertig ist. :/
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!