Wie kann ich herausfinden, überlappende dateperiods/Datumsbereiche in PHP?

Wenn ich zwei Zeiträumen (z.B. 1. Mai - 31. Mai und 23. Mai - 5. Juni), was wäre der beste Weg, um herauszufinden, wie viele Tage die beiden Zeiträume überschneiden sich in PHP (so würde es wieder 9)? Gibt es eine Möglichkeit, dies zu tun mit DatePeriod Objekte?

Bearbeiten, um (hoffentlich) klarstellen, meine Frage:

Grundsätzlich möchte ich eine Funktion, die, gegeben zwei beliebige Datumsbereiche, wird wieder die Anzahl der Tage, die Häufig zwischen den beiden Zeiträumen. Wenn es eine überschneidung wird es wieder die Anzahl der überlappenden Tagen, ansonsten wird 0 zurückgegeben. Ich dachte, dies könnte geschehen, indem ein array mit den Daten für jeden Bereich, Durchlaufen Sie finden identische Daten, und verwenden Sie eine variable zum zählen der Anzahl der übereinstimmungen - aber ich bin auf der Suche nach etwas eleganter.

Was du versucht?
Sorry, ich hätte klarer. Ich denke, ich könnte wahrscheinlich machen ein array mit den Daten für jeden Bereich, Durchlaufen Sie finden identische Daten, und verwenden Sie eine variable zum zählen der Anzahl von Treffern. Es scheint, wie diese sein könnten, übermäßig kompliziert, aber wenn es eine weitere grundlegende Weg, dies zu tun mit DatePeriod. Ich weiß, Sie können berechnen die Differenz zwischen zwei Datumsangaben mit DateTime->diff, so dass ich wenn es vielleicht etwas ähnliches für DatePeriod, aber ich bin nicht mit viel Glück über Google. Vielleicht so etwas wie $dateperiod->diff($dateperiod2).
Okay, diese Frage wurde downvoted und geschlossen, was in Ordnung ist. Aber was kann ich tun, um zu stoppen als downvoted?

InformationsquelleAutor Dustin | 2013-01-07

Schreibe einen Kommentar