Tach!
ich habe ein Ausgangsdatum
X
vorliegen und ich habe eine KalenderwocheY
vorliegen, das sich chronologisch hinter dem X-Datum befindet. Zudem habe ich eine WiederholungsregelZ
, z.b. day, week, month oder year. Nun suche ich ein Verfahren, nachdem ich effizient prüfen kann, ob sichX + n*Z innerhalb von Y
befindet. Und zusätzlich natürlich, wie oft bzw. wann.
Sowohl "wie oft" als auch "wann" ist kein Problem mehr, nachdem du alle n gefunden hast. Für ein einzelnes n ist die Prüfung recht trivial, aber wenn ich deine Beschreibung richtig interpretiere, geht es dir eigentlich darum, alle gültigen n überhaupt zu finden.
Habt Ihr eine Idee? Ich komme tatsächlich nur darauf, alle Datümer
X+n*Z
durchzugehen, bis ich > Y bin und jeden Schritt nach Treffer/Nichttreffer zu prüfen.
Vielleicht kann man da eine Formel finden. Ein Problem sind aber, wenn Monats- oder Jahreswechsel in den Zeiträumen liegen. Dann ist der Monat in solch einer Formel nicht nur m sondern m und m+1 oder m-1 je nach Betrachtungsweise. Es hilft auch nichts, diese Klippen umschiffen zu wollen, indem man einfach nur Tageszahlen nimmt, zum Beispiel die julianische Tagesnummer. Denn du hast weiterhin das Problem, dass die Monate und Jahre unterschiedlich lang sind. Es ist also nicht einfach zu einem JD-X (JD=Julian Day) eine Anzahl Monate/Jahre zu addieren. Also bleibt dir meines Erachtens nur die lineare Vorgehensweise.
dedlfix.