Zeit einer Date-Variable ändern?

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Zeit einer Date-Variable ändern?

    Hey,


    ich hätte da mal eine mir schon fast peinliche Frage:

    Gibt es eine bestimmte Funktion, oder einen Trick einer Date-Variable die Zeit getrennt zuzuweisen?


    Wenn zb. das Datum stimmt - a la (15.12.2013), aber die Zeit nicht, müsste ich diese dann so anpassen?:

    VB.NET-Quellcode

    1. Dim Datum As Date = cDate("15.12.2013 23:05")
    2. 'beim ändern dann..
    3. Datum = cDate(Datum.ToString("hh.MM.yyyy " & NeueZeitInHH&mm))
    4. 'Oder gäbe es da vll sowas hier
    5. Datum.SetTime(byVal NeueStundenMinutenSekundenKombi As String)


    Ist natürlich nur Pseudo-Code..


    Danke schonmal ;)!
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    zunächstmal: pack um Himmels willen die String-Operationen weg!
    Zeiten sind keine Texte, und du wirst nie programmieren lernen, wenn du Äpfel nicht von Glühbirnen unterscheiden kannst.

    Zum Problem:
    DateTime.Date gibt den Tag eines Zeitwertes an, also das Datum um 0:00
    dem kannst du mit + eine Zeitspanne hinzuaddieren, also einen Timespan.
    Timespans kann man ganz komfortabel mit Public Shared Functions erzeugen , wie Timespan.FromSeconds() .FromDays() etc .
    Hast du Sekunden und Minuten, dann nimm besser einen der überladenen Konstruktoren.
    Guck dir die Geschichte im ObjectBrowser an.
    Da der Benutzer die Zeit in einem MonthCalendar und in einer Combobox (HH:mm) angibt, wüsste ich gerade nicht wie ich das anders machen sollte als mit den Strings.

    Und da ich Vorgaben habe, wie das Formular aussehen soll, kann ich leider nicht viel daran ändern. Ich habe zum Beispiel bisher nie mit einem Datetime-Picker arbeiten müssen, weiß daher auch gerade nicht ob das ein richtiges sagen wir mal "Visual-Control" wie der Button ist, oder obs nur Codetechnisch läuft (und daher vll. dann besser dafür wäre).


    Ich finds ein wenig hart, dass du meinst ich würde nie programmieren lernen, ich programmiere schon einige Jahre und niemand ist komplett fehlerfrei. Desweiteren bin ich selber ein großer Perfektionist, ich verbessere immer wenn ich besser/elegantere Methoden finde, allerdings mich direkt so negativ darzustellen finde ich schon naja... Ganz nebenbei habe ich schon mehrere erfolgreiche Projekte gemacht.

    Aber niemand ist eben halt perfekt und ich lerne wie gesagt immer gerne was dazu..



    Soweit danke ich dir trotzdem für deine Hilfe.

    Die andere Geschichte gucke ich mir dann im Object-Browser an.
    Polling is trolling!

    Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren..
    Bitte erzähl mir nicht, wegen MonthCalendar und Combobox müsse man Zeit-berechnungen mit String-Operationen ausführen.

    Welchen Datentyp hat System.Windows.Forms.MonthCalendar.SelectionStart?

    Und eine Combobox kann man problemlos an eine List(Of Timespan) binden.
    Oder an eine List(Of KeyValuePair(Of String, Timespan)) - dann kannst du jeder Zeitspanne einen Namen zuordnen, der angezeigt wird.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „ErfinderDesRades“ ()