Anzahl Tage von einem Datum subtrahieren
Heiko Merz
Hallo,ich versuche gerade eine Funktion im Optimizer zu basteln, mit welcher ich vom aktuellen Lieferdatum eine gewissen Anzahl Tage abziehen kann und dann dieses Datum darstellen kann. Hat jemand eine Idee ?
Beispiel:
Lieferdatum = 20.04.2010
Anzahl Tage = 10
Neues Datum = 10.04.2010
Habe schon einiges mit System.DateTime versucht, dass scheint mir aber immer nur das aktuelle Datum zu verwenden.
Weiss jemand eine Möglichkeit ?
Gruß
Heiko
Andreas Scherer
Hallo HeikoDu musst mit dem Variablen Format Date arbeiten.
Du kannst nur Datum - Datum rechnen.
siehe den Forumsbeitrag:
http://www.coresystems.ch/forum.html?&tx_mmforum_pi1%5Baction%5D=list_post&tx_mmforum_pi1%5Btid%5D=3821
Grüsse
Andy
Heiko Merz
Das habe ich bereits getestet und es geht, z.B.System.DateTime.Now.DateAdd(-5) zieht mir 5 Tage vom aktuellen Tag (heute) ab.
Aber wie mache ich das ganze, wenn das Datum nicht heute (now) sein soll, sondern ein x-beliebiger Tag ? Z.B. 28.04.2010 ???
Kann ich irgendwie das .Now ersetzen durch meine Variable, in welchem das von mir ausgewählte Datum steht ?
Manuel Marhold
Hi Heiko,New Date(2010,04,10)
Andreas Scherer
Hallo HeikoFolgendes würde ich ausprobieren
Dim DeinDatum As System.DateTime = New Date(Data("B1_Data.DeinFeld"))
DeinDatum.AddDate(-5)
Das sollte ungefähr so funktionieren. Habe es nicht getestet.
Grüsse
Andy
Heiko Merz
Danke Andreas.Ich habe das in einer cscode Regel gemacht, die war schon ziemlich umfangreich, deshalb wollte ich nicht auf VB umsteigen.
Habe es aber nun hinbekommen, der Tip mit AddDays war gold wert.
Jetzt habe ich das Problem, dass er zwar die Anzahl der Tage richtig abzieht und das neue Datum schön reinschreibt, aber er beachtet nicht Wochenende und Feiertage. Da muss ich jetzt noch irgendwas machen mit Kalender,etc.
Gruß
Heiko
Andreas Scherer
Hi HeikoBitte.
Ich weiss nicht ob es da eine schöne Funktion gibt. Aber du kannst mit der Anzahl Tage prüfen ob ein Wochenende dazwischen liegt.
z.B.
Wenn anzahl Tage > als 5 dann plus 2
Wenn anzahl Tage > als 10 dann plus 4
usw.
Denke das sollte funktionieren.
Grüsse
Andy
Heiko Merz
Hallo Andy,vielen Dank. Ich bin fertig mit der Regel. Die ist zwar der Wahnsinn von der Programmierung her, aber sie geht :-)
Na so einfach ist es nicht. Wenn z.B. Tage = 7 sind, dann ist es eine komplette Arbeitswoche und 2 Resttage. Aber es könnten 2 Wochenenden drin sein, wenn nämlich das Datum ein Montag ist. Dann muss ich: 2 Tage für das Wochenende + 5 Tage + nochmal 2 Tage Wochenende + 2 Resttage abziehen.
Aber wie gesagt, ich habe es hinbekommen.
Gruß
Heiko
0
Please sign in to leave a comment.
Comments
0 comments