CTime hat nen Bug? Oder hab ich einen



  • CTime t1=CTime::GetCurrentTime();
    ...bisschen code
    CTime t2=CTime::GetCurrentTime();
    t2-=(CTimespan)t1;
    

    Der Code verrechnet sich immer um eine Stunde. Was läuft da falsch?



  • Ich wollte es ausprobieren, aber er sagt:
    'CTimespan' : nichtdeklarierter Bezeichner

    ...und mit grossem S in CTimeSpan sagt er:
    error C2440: 'type cast' : 'class CTime' kann nicht in 'class CTimeSpan' konvertiert werden

    [edit]:
    Wenn ich das folgende debugge und zwischen der ersten und zweiten Zeile 5 Sekunden warte, steht zum Schluss in i auch 5 drin.

    CTime t1=CTime::GetCurrentTime(); 
    	CTime t2=CTime::GetCurrentTime();
    //	t2-=(CTimeSpan)t1; 
    
    	CTimeSpan t = t2 - t1;
    
    	int i = t.GetSeconds();
    


  • CTimeSpawn t = t2-t1;
    

    Ist wirklich die einfachste Möglichkeit, Danke.

    Ich habe bei meinem Post leider einen falschen Fehler reingebracht:

    CTime t1= CTime::GetCurrentTime();
    CTime t2= CTime::GetCurrentTime();
    t2 -= t1.GetTime();
    CString strTime;
    strTime.Format("Stunden %i, Minuten %i, Sekunden %i", t2.GetHour(),    t2.GetMinute(), t2.GetSecond());
    

    Ich hab mich auf den Operator -= festgebissen und mich gewundert, dass bei obigen Code immer 1 Std zuviel rauskommt. 😕 😕


Anmelden zum Antworten