Entwickler-Ecke

Basistechnologien - Von Datum 7 Tage (int abziehen)!


schani - So 29.07.07 12:58
Titel: Von Datum 7 Tage (int abziehen)!
Hallo,


folgendes Problem.

Ich habe eine DateTime Variable und eine int Variable.
In der DateTime Variable versteckt sich,wie sollte es auch anders sein, ein Datum.
In der int Variable stehen die Tage die ich von der DateTime Variable abziehen möchte.

Doch wie genau bekomme ich das hin, hab schon alles mögliche durchprobiert.
Hat vielleicht mal jemand nen Tipp?

Gruß

Schani


Christian S. - So 29.07.07 13:11

DateTime besitzt die AddDays-Methode, welche auch negative Werte annimmt, um Tage abzuziehen.


schani - So 29.07.07 13:45

ok, vielen Dank!


schani - So 29.07.07 20:18

ok, jetzt stellt sich für mich das nächste Problem.

die zahl die ich habe ist ja positiv. wie bekomme ich die jetzt negativ?

Schani


UGrohne - So 29.07.07 21:02

user profile iconschani hat folgendes geschrieben:
ok, jetzt stellt sich für mich das nächste Problem.

die zahl die ich habe ist ja positiv. wie bekomme ich die jetzt negativ?

Schani

z.B. ein Minus davor setzen? ;)
dtg = dtg.AddDays(-tage); (ausm Kopp)


Christian S. - So 29.07.07 21:02

Ein Minuszeichen davor? :gruebel:


schani - Mo 30.07.07 08:01

kann ich vor eine variable einfach ein - setzen?


schani - Mo 30.07.07 08:28

mit dem minus davor klappt leider nicht, das ergebnis ist dann immer 0!



hier mal ein bischen Code;

C#-Quelltext
1:
2:
3:
// in wert1 steht das aktuelle datum!
DateTime wert2;
wert2 = wert1.AddDays(Convert.ToInt16(-numericUpDown3.Value));


Schani


UGrohne - Mo 30.07.07 08:50

Bei mir funktioniert das einwandfrei. Sicher, dass da nicht noch was anderes dazwischen steht? Und dass Du wert1 richtig initialisiert hast?


Deichkind_228 - Mo 30.07.07 09:40

multipliziere den Integer doch einfach mit -1.
Oder habe ich was falsch verstanden?


JüTho - Mo 30.07.07 10:41

@schani
Ich könnte mir vorstellen, dass die Reihenfolge von Minus und Convert nicht sauber ist. Mit einfacherer Konvertierung und mit den anderen Hinweisen ergibt sich also etwa so etwas:

C#-Quelltext
1:
wert2 = wert1.AddDays((-1)*(int)numericUpDown3.Value);                    

Jürgen