phpbar.de logo

Mailinglisten-Archive

AW: [php] prüfen ob Range in Range ist

AW: [php] prüfen ob Range in Range ist

Tim Hildebrandt TConnect at gmx.net
Die Aug 12 13:00:41 CEST 2003


Hallo Florian,


> 
> Hallo,
> ich sitz hier und weiss nicht mehr weiter ;).
> Also mein Problem ist, ich hab eine Range von zwei Timestamps
> 
> 10:00 - 10:30 ( normal in Timestamp Format)
> 
> und ein Termin der von 10:10 - 13:00 geht ( auch in Timestamp Format)
> 
> $range_start=10:00
> $range_end=10:00
> 
> $date_start=10:10
> $date_end=13:00


Also wenn ich Dich richtig verstehe, möchtest Du testen, ob der 
zweite Termin sich in irgend einer Weise mit dem ersten überschneidet.
Demnach müßtest Du m.E. beim zweiten Termin jede der beiden Uhrzeiten
gesondert überprüfen lassen. Denn: Es kann ja sein, dass Termin 2, 
Uhrzeit 1 durchaus außerhalb des Termines 1 liegt, jedoch Termin2,
Uhrzeit 2 dann wieder überschneidet.

Also folgende lösung:

function checkTime($range_start, $range_end, $time){

if($time > $range_start && $time < $range_end){
return true;
}
else{
return false;
}

}


und die Überprüfung der Überschneidung sieht dann wie folgt aus:

if(checkTime($range_start, $range_end, $date_start) && 
checkTime($range_start, $range_end, $date_end)){
echo "Termin überschneidet sich nicht";
}
else
{
echo "Termin überschneidet sich.";
}



Funktionen sind ungetestet.

Gruß Tim


php::bar PHP Wiki   -   Listenarchive