COleDateTime Datum + Uhrzeit



  • Hi, ich berechne mit folgendem Code die Differenz zwischen zwei Uhrzeiten :

    CString uhrdiff;
    	COleDateTime ersteuhr,zweiteuhr;
    	COleDateTimeSpan diff;
    
    	ersteuhr.ParseDateTime(strUhr);
    	zweiteuhr.ParseDateTime(m_sTime);
    
    	diff= zweiteuhr - ersteuhr;                      
    	uhrdiff=diff.Format("%H:%M:%S");
    

    Er berechnet alles korrekt, aber ich würde gerne auch noch das Datum mitberechnen lassen, falls die zwei Zeiten eben mehr als ein Tag auseinander liegen. Das Datum habe ich in einem CString(date1/date2), aber wie füge ich das oben ein, damit er es mit der Uhrzeit mitberechnet ?



  • Du könntest die Kombination aus Datum+Uhrzeit bilden und an die ParseDateTime() Aufrufe übergeben - alternativ kannst du die Datum-Strings selber auseinandernehmen und per SetDate() in die Objekte eintragen.



  • Also die Idee mit der Kombination hatte ich auch, allerdings hats irgendwie an der Umsetzung gehapert ^^

    ersteuhr.ParseDateTime(date1,strUhr)
    

    z.B.
    ...hat leider nicht funktioniert ^^

    Aber trotzdem danke werds mal mit SetDate() versuchen



  • Ich meinte nicht "mit Komma hintereinanderschreiben" (ParseDateTime() erwartet nur einen Parameter), sondern zusammenfügen per String-Verkettung:

    CString dt = date1+" "+strUhr;
    ersteUhr.ParseDateTim(dt);
    


  • Wow vielen Dank, scheint zu funktionieren 👍


  • Mod

    Mal grundsätzlich die Frage: Warum verwendest Du denn Strings und nicht direkt COleDateTime?



  • Also naja ich bin froh das es funktioniert, ob jetzt mit String oder ohne war mir halt dann auch egal. Ich weiss, das ist auf Dauer keine effiziente Art und Weise zu programmieren, aber ich bin halt ein ziemlicher Anfänger und will da eigentlich nicht viel ändern wenns schon mal funtzt 🙂


  • Mod

    Nur selbst als Anfänger sollte Dir klar sein, dass es einfacher ist den Typ einer Variable vernünftig auszuwählen, als die ganze Zeit irgendwelche haarsträubenden Konvertierungen zu machen.



  • Ja schon aber so Haarsträubend ist das doch gar nicht, oder wie hättest du es den gemacht ?

    Vll. hab ich dir auch die falsche Anwort gegeben, vermutlich bin ich auf die Strings angewiesen, da ich Sie in einer .txt Datei speichern will, und wenn ich da COleDateTimes reinschreib meckert der... oder vll. gibts auch dafür ne leichtere Lösung, keine Ahnung...


Anmelden zum Antworten