Aktuelle Zeit + X Sekunden



  • Hallo

    Ich mal wieder 😉
    Wie muss mein Code aussehen, wenn ich die Aktuelle Zeit
    (z.b. 14:05:15) + 3600 Sekunden rechnen und das Ergebniss
    in einem Label anzeigen will?

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    double sekunden = 3600;
    Label1->Caption=Time()+sekunden;
    }
    

    Das geht zwar aber er bringt dann was ganz komisches 😉
    eigentlich logisch, woher soll er auch wissen das ich Sekunden addiere?
    Wie muss ich den Code ändern? kann ja nur eine Kleinigkeit sein oder?



  • Ups.. schwachsinn was ich gepostet hab



  • Cheldar schrieb:

    wie wäre es, wenn du statt

    double sekunden = 3600;
    

    folgendes nimmst

    int sekunden = 3600;
    

    naja, es wär so: an der funktion würde das nichts ändern...
    ich muss dem ding nur sagen das es sekunden sind die er zu der zeit addieren soll



  • Sieh dir die Hilfe zu TDateTime an,.
    Ansonsten Suchfunktion benutzen: 'tdatetime inkrementieren'.



  • Wenn man sich die Beschreibung zu TDateTime::operator + anguckt steht da geschrieben:

    Mit dem Operator + wird der vom Operanden rhs angegebene Wert zum TDataTime-Objekt addiert. Der Operand rhs enthält die Anzahl der Tage (einschließlich der Uhrzeit), die hinzugefügt werden.

    Also rechne mal Deine Sekunden entsprechend um, dann sollte es klappen.



  • hiermit hats geklappt:
    http://www.bytesandmore.de/rad/index.htm?http://www.bytesandmore.de/rad/cpp/snipp/sc06017.php

    also bei mir sieht das mit button und label
    nun so aus:

    TDateTime IncSecs(TDateTime dtlDateTime, int ilSecs)
    {
      return dtlDateTime + double(double(ilSecs)/SecsPerDay);
    }
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    
    int sekunden = 60;
    Label1->Caption=IncSecs(Time(),sekunden);
    }
    

    jetzt hab ich nur noch ein problem, wenn ich +100 tage rechne
    (int sekunden = 8640000;), dann kommt was mit 1900 raus..
    wie bekomm ich das aufs aktuelle datum?



  • fällt jemandem dazu noch was ein, ich komm nicht weiter 😞


Log in to reply