"Time"-Variable??

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von FAtheone.

    "Time"-Variable??

    Hi,
    hab überall gesucht aber nichts passendes gefunden...

    Ich möchte einen String (z.B. "19:30") in einer "DateTime??"-Variable speichern und diesen dann mit einer anderen DateTime Variable vergleichen!

    Wie speichere ich einen String in einer DateTime Variable (ist "DateTime" überhaupt kompatibel bzw. effizient?) und wie vergleiche ich diesen dann mit einer anderen "DateTime" Variable? Die Variable soll nur 'Stunden":"Minuten' enthalten..
    Ich würde Timespan nehmen
    Dim ts As New TimeSpan(Now.Hour, Now.Minute, 0)

    Kannst natürlich auch ne eigene Klasse schreiben

    VB.NET-Quellcode

    1. Private Class TimeHourMinute
    2. Private _val As Integer
    3. Public Sub New(ByVal d As Date)
    4. _val = d.Hour * 24 + d.Minute
    5. End Sub
    6. Public ReadOnly Property Minutes() As Integer
    7. Get
    8. Return _val
    9. End Get
    10. End Property
    11. End Class

    ChaosBernd schrieb:

    wandeln kannst du einen string in Date so

    VB.NET-Quellcode

    1. MsgBox(CDate("10:30"))

    danke, wie verwende ich das bei diesem Beispiel:

    VB.NET-Quellcode

    1. Dim s as string = "19:30"
    2. Dim d CDate???
    3. Dim vergleich as string = "19:30"
    4. if vergleich = d ??? then
    5. end if
    DANKE, fast gelöst, nur noch eine Frage: "19:30" liegt in einem String vor (geht nicht anders), wie kann ich den Wert der CDate Variable auf den des (19:30)-Strings festlegen?

    VB.NET-Quellcode

    1. Dim d As Date = CDate("19:30")
    2. Dim vergleich As CDate
    3. Dim temp as String = "19:30"
    4. 'stell ich mir ca. so vor
    5. vergleich = temp '????
    6. '##
    7. If vergleich = d Then
    8. MsgBox("ja ist gleich")
    9. Else
    10. MsgBox("nein ist nicht gleich")
    11. End If


    würde das funktionieren (hab grade kein VB)
    :thumbsup: damit sind alle Probleme gelöst!

    jez ist leider ein Problem aufgetreten :(
    Der Wert der Variable beträgt: "19:30:00"
    Er sollte aber nur "19:00" betragen (die Sekunden machen den Code ungültig)

    Wie kann ich die Endung ":00" entfernen? oder in einem anderen Typ deklarieren?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VB-08“ ()