Prüfen ob Zeitraum A in Zeitraum B enthalten ist

Guten Morgen liebe Mathegenies bzw. Coder!

Ich programmiere in EINER Programmiersprache unter Windows. Ich nenne jetzt keine bestimmte Programmiersprache um niemanden zu verschrecken. Ich habe auch schon versucht das Problem mit IntersectRect in den Griff zu bekommen, leider ohne Erfolg.

Ich habe 2 Zeiträume gegeben. Jeder davon KANN sich mit dem anderen Zeitraum irgendwo treffen. Ich brauche nicht den genauen Tag bzw. die Stelle wo sich die Zeiträume treffen sonder einfach nur ob.

Beispiel:

Zeitraum A 1.1.2011 bis 6.1.2011
Zeitraum B 2.1.2011 bis 5.1.2011

Zuerest meine Logik:
IF (A_von=>B_von AND A_bis

Guten Morgen liebe Mathegenies bzw. Coder!

Tach

Ich habe auch schon versucht das
Problem mit IntersectRect in den Griff zu bekommen, leider
ohne Erfolg.

? Du betrachtest Intervalle auf einem (eindimensionalen) Zeitstrahl. Inwiefern sollte IntersectRect dabei helfen?

Ich habe 2 Zeiträume gegeben. Jeder davon KANN sich mit dem
anderen Zeitraum irgendwo treffen. Ich brauche nicht den
genauen Tag bzw. die Stelle wo sich die Zeiträume treffen
sonder einfach nur ob.

Beispiel:

Zeitraum A 1.1.2011 bis 6.1.2011
Zeitraum B 2.1.2011 bis 5.1.2011

Zuerest meine Logik:
IF (A_von=>B_von AND A_bismin, Amax] und B=[B<sub>min</sub>, B<sub>max</sub>] überlappen genau dann, wenn Amin in B oder Bmin in A liegt.

IF A<sub>min</sub>min THEN
 /\*-------------------------
_| A beginnt früher als B_
 -------------------------\*/
 IF B<sub>min</sub>max THEN
 /\*-------------------------
_| B beginnt, bevor A endet_
 -------------------------\*/
 "überlappend"
 ELSE
 /\*-------------------------
_| B beginnt, nachdem A geendet hat_
 -------------------------\*/
 "nicht überlappend"
 END IF
ELSE
 /\*-------------------------
_| A beginnt später als B_
 -------------------------\*/
 IF A<sub>min</sub>max THEN
 /\*-------------------------
_| A beginnt, bevor B endet_
 -------------------------\*/
 "überlappend"
 ELSE
 /\*-------------------------
_| A beginnt, nachdem B geendet hat_
 -------------------------\*/
 "nicht überlappend"
 END IF
END IF

HTH
KHK

Bitte um Hilfe, wie gesagt Mathematik ist an keine
Programmiersprache gebunden, daher jede Programmiersprache ist
ok

Hallo Alex,

da Deine Mathematik in Ordnung ist, solltest Du den Fehler doch in der programmierischen Umsetzung oder den Randbedingungen (z.B. von

Vielen Dank! Ich bin schon zu Alt für sowas… :wink:
Hat super funktioniert

Hallo.

Zwei Intervalle A=[Amin, Amax] und
B=[B<sub>min</sub>, B<sub>max</sub>] überlappen genau dann,
wenn Amin in B oder Bmin in A liegt.

Oder einfacher:
A und B überlappen sich genau dann, wenn Aminmax und Bminmax.
Wenn ein Berührungspunkt als Überlappung durchgehen soll, jeweils ein