Division einer Zeit



  • Hallo, brauche dringend Eure Hilfe!

    Ich habe folgenden Code:

    CTime t1(int..., int...);
    CTime t2(int..., int...);
    CTimeSpan ts = t2-t1;
    

    Da ich einen Durchschnittswert brauche, müßte ich ts durch einen int
    dividieren. Das geht so natürlich nicht. Weiß jemand Rat?????

    Danke!!



  • Wenn Du z.B. die Sekunden willst, kannst Du mit GetTotalSeconds die Sekunden von ts ermitteln. Diese sind dann teilbar:

    ts.GetTotalSeconds() / zahl;
    

    Apropos, falsche Rubrik: Deine Anfrage gehört nach MFC.



  • Danke, das funktioniert schon mal prima!

    Aber wie wandle ich die Sekunden wieder in Tage, Stunden, Minuten
    und Sekunden um ? Gibt es da eine bestimmte Funktion und wie ist
    sie zu benutzen? Wenn nicht, wie mach ich das "zu Fuß" ?????



  • Ist doch ganz einfach... Du weisst doch wieviele Sekunden beispielsweise ein Tag hat (24*60*60). Teile deine Sekunden durch die Anzahl Sekunden pro Tag und du erhälst die Anzahl der Tage. Den Rest bei dieser Division erhälts du durch den Modulo-Operator

    Der Code könnte also wie folgt aussehen...

    // Sekunden in Zeit umrechnen
    int totalseconds = 98665; // Ersetzen durch Anzahl der Sekunden
    int days, hous, minutes, seconds;
    int remaining = 0;
    days = totalseconds / (24*60*60);
    remaining = totalseconds % (24*60*60);
    hours = remaining / (60*60);
    remaining = remaining % (60*60);
    minutes = remaining / (60);
    remaining = remaining % (60);
    seconds = remaining;
    

    Ich hoffe das hilft dir... 🙂


Log in to reply