none
Von Lokaler Zeit 1 Stunde abziehen RRS feed

  • Frage

  • Hallo, 

    Ich hab schon hin und her versucht aber ich bekomms nicht hin also:

    Ich hätte gerne den wert A als als aktuelle Zeit minus 1 h deklinieren
    Ich habs schon so versucht:
    Dim A As String = My.Computer.Clock.LocalTime
    Aber von dem wert kann ich nichts abziehen
    Also hab ichs so gemacht:
    Dim A As String = My.Computer.Clock.TickCount
    Da kommt ein Wert raus von dem ich was abziehen kann.
    Aber:
    Was soll ich davon abziehen dass genau eine die Aktuelle zeit minus eine Stunde rauskommt?
    Und wie bring ich den Wert wider in eine normale zeit?

    Schonmal danke im vorraus!
    Freitag, 10. Juli 2009 18:53

Antworten

  • Hallo,

    Die kurze Lösung lautet:
            Dim DatumZeitMinusEins As DateTime = DateTime.Now.AddHours(-1)
            Console.WriteLine("{0}", DatumZeitMinusEins)
    
    Die Erläuterung ist ein klein wenig länger:

    Tue Dir selbst einen Gefallen und aktiviere Option Strict On !

    Dabei hättest Du gleich bemerkt das "Dim A As String" fehlerhaft ist,
    denn die Methode liefert als Rückgabe ein DateTime, mit der man rechnen kann.
    Nur ohne die Option hilft Dir Visual Basic und macht eine Zeichenkette daraus,
    mit der man aber nicht mehr viel anfangen kann, als sie ausgeben.

    Desweiteren ist das langatmige
    My.Computer.Clock.LocalTime 
    ist letztendlich nichts weiter als ein Synonym für
    DateTime.Now
    und deutlich schneller getippt, und wie die meisten My... Methoden ziemlich überflüssig.

    Weitere Informationen zum Rechnen mit Datum und Zeit findest Du unter
    Durchführen arithmetischer Datums- und Uhrzeitoperationen

    Gruß Elmar




    Freitag, 10. Juli 2009 20:17
    Beantworter