LeoLinux
Well-Known Member
Hallo,
ich habe ne kleine Aufgabe an der ich hängen bleibe, weil ich einfach nicht auf eine simple Lösung ohne Verwendung von Bedingungen komme.
Ziel ist es mit einfachsten mathematischen Mitteln, wie Plus, Minus, Mal, Geteilt und Betragsstrichen "|" auf eine Datumsdifferenz zu kommen. Es sollen keine Bedingungen mit in die Rechnung einfließen, sondern es muss in einer Formel bleiben in die man lediglich TagAnfang, MonatAnfang und TagEnde, MonatEnde eitragen muss.
z.B die Differenz zwischen dem 20.02.2010 bis 05.03.2010 = 15 Tage und 0 Monate - also 0,5 Monate - Jahre werden nicht berücksichtigt.
Beispiel für diesen Fall:
Differenz a) 30[gesamt]-20[TagAnfang]=10[Tage]
Differenz b) Tag vom EndDatum = 05[Tage]
Endergebniss: Differenz a) + Differenz b) = (10+5)/30=0,5[Monate]
Mit Berücksichtigung der Monate habe ich allgemein folgende Formel aufgestellt. Schreib sie dir am besten mit Verwndung von Bruchstrich und Klammern auf ein Blatt Papier - damit es überschaubarer wird:
Zeitfenster = (1[Monat] / 30 [Tage]) * (30 [Tage] - | TagAnfang - TagEnde |) + (MonatEnde - MonatAnfang -1 [Monat]))
Wenn du diese Formel jetzt auf das Beispieldatum anwendest kommt exakt 0,5 Monate raus. Perfekt, genauso muss es aussehen, dass ich mit diesem Wert als Faktor für weitere Schritte weiterrechnen kann, ABER:
Beispieldaten:
30.05.2010 bis 01.07.2010
vs.
01.05.2010 bis 30.07.2010
Dafür haut sie nicht mehr hin.
Kommst du auf ne Lösung?
LG
P.S. Eine Kopie dieses Threads liegt auch auf: http://www.chemieonline.de/forum/showthread.php?p=2684726012#post2684726012
ich habe ne kleine Aufgabe an der ich hängen bleibe, weil ich einfach nicht auf eine simple Lösung ohne Verwendung von Bedingungen komme.
Ziel ist es mit einfachsten mathematischen Mitteln, wie Plus, Minus, Mal, Geteilt und Betragsstrichen "|" auf eine Datumsdifferenz zu kommen. Es sollen keine Bedingungen mit in die Rechnung einfließen, sondern es muss in einer Formel bleiben in die man lediglich TagAnfang, MonatAnfang und TagEnde, MonatEnde eitragen muss.
z.B die Differenz zwischen dem 20.02.2010 bis 05.03.2010 = 15 Tage und 0 Monate - also 0,5 Monate - Jahre werden nicht berücksichtigt.
Beispiel für diesen Fall:
Differenz a) 30[gesamt]-20[TagAnfang]=10[Tage]
Differenz b) Tag vom EndDatum = 05[Tage]
Endergebniss: Differenz a) + Differenz b) = (10+5)/30=0,5[Monate]
Mit Berücksichtigung der Monate habe ich allgemein folgende Formel aufgestellt. Schreib sie dir am besten mit Verwndung von Bruchstrich und Klammern auf ein Blatt Papier - damit es überschaubarer wird:
Zeitfenster = (1[Monat] / 30 [Tage]) * (30 [Tage] - | TagAnfang - TagEnde |) + (MonatEnde - MonatAnfang -1 [Monat]))
Wenn du diese Formel jetzt auf das Beispieldatum anwendest kommt exakt 0,5 Monate raus. Perfekt, genauso muss es aussehen, dass ich mit diesem Wert als Faktor für weitere Schritte weiterrechnen kann, ABER:
Beispieldaten:
30.05.2010 bis 01.07.2010
vs.
01.05.2010 bis 30.07.2010
Dafür haut sie nicht mehr hin.
Kommst du auf ne Lösung?

LG
P.S. Eine Kopie dieses Threads liegt auch auf: http://www.chemieonline.de/forum/showthread.php?p=2684726012#post2684726012
Last edited:

