dateTimePicker Problem



  • Also zu erst einmal bin ich ziemlicher Anfänger in Sachen C++ usw. Ich bin derzeit in ner Ausbildung zum Anwendungsentwickler und ich habe derzeit ein Projekt am laufen, wobei ich die Urlaubstage einer Firma verwalten muss mit MSSQL Verbindung usw. das läuft auch alles schon bis auf diesen einen schwachsinnigen Fehler den ich nicht lösen kann.

    http://i.imgur.com/r8dFs7B.png

    Wie man hier sieht unten bei dem dateTimePicker steht im Label der Abstand zwischen den beiden Daten. Da es ja ein Urlaubstagerechner ist muss ja der Tag mitgezählt werden und nicht nur die Tage dazwischen. Das funktioniert soweit, auch wenn ich mehr Tage einstelle, jedoch wenn ich wieder auf das gleiche Datum stelle steht dort das es 2 Tage sind, das erklärt sich daher weil ich beim ausrechnen der Differenz immer bei den Tagen +2 Rechnen muss weil er sonst die Tage die eingestellt sind nicht mitrechnet. Ich hab das ganze schon probiert mit einer IF Funktion lösen oder switch. Einfach wenn kein Unterschied zwischen Daten, 1 schreiben. Das geht allerdings auch nicht, ist warscheinlich sehr simpel das Problem aber ich komm nicht drauf.

    Code für dateTimePicker_ValueChanged

    DateTime FirstDate = dateTimePicker1->Value;
    DateTime SecondDate = dateTimePicker2->Value;
    TimeSpan ts = SecondDate - FirstDate; 
    int differenceInDays_2 = ts.Days + 2;
    this->label13->Text = L""+(differenceInDays_2);
    

    Das ist meine derzeitige Lösung.



  • Wenn das C++/Cli mit 'DateTime' und 'TimeSpan' ist dann bist Du hier https://www.c-plusplus.net/forum/f58 beser aufgehoben



  • Dein Problem ist die Uhrzeit!
    Diese wird bei Value und Timespan miteingerechnet, du solltest aber nur die Tage vergleichen.
    Und dann sollte auch nur noch +1 bei der Differenz dazuaddiert werden müssen.



  • Vieeeelen Dank, es funktioniert.


Log in to reply