Ich versuche eine IF-Prüfung durchzuführen, um zu sehen, ob der X-Datumsbereich zwischen dem Y-Datumsbereich liegt. Aber es ist nicht die richtige Rückkehr wahr/falsch auf die richtige Zeit:JavaScript-Datumsbereich zwischen dem Datumsbereich
var startdate = new Date('06/06/2013');
var enddate = new Date('06/25/2013');
var startD = new Date('06/08/2013');
var endD = new Date('06/18/2013');
if(startD >= startdate || endD <= enddate) {
return true;
} else {
return false;
}
Dies funktioniert, aber wenn ich startdate
-06/09/2013
ändern und enddate
-06/17/2013
es nicht mehr funktioniert, während es funktionieren sollte.
Es sollte sogar funktionieren, wenn startdate
war 06/07/2013
und enddate
war 06/15/2013
, aber nicht. Irgendwelche Gedanken?
Versuchen Sie zu erkennen, ob sich die Datumsbereiche überlappen oder ob einer vollständig in einem anderen enthalten ist? – voithos
Damit ein Datumsbereich eine Teilmenge eines anderen Datumsbereichs sein kann, muss der Anfang des inneren Bereichs nach dem Beginn des äußeren Bereichs liegen UND das Ende des inneren Bereichs muss vor dem Ende des äußeren Bereichs liegen. Möchten Sie überprüfen, ob ein Bereich einen anderen Bereich enthält, oder möchten Sie feststellen, ob sie sich überschneiden? – zzzzBov
Beide und beide wirklich. Als ob das Enddatum innerhalb des Bereichs liegt, muss es aufgenommen werden, da sich einige Tage überschneiden. Wenn das Startdatum innerhalb des Bereichs liegt, aber das Enddatum ausbleibt, muss es immer noch wahr sein, da einige Tage immer noch innerhalb des Bereichs liegen. Also beides wirklich. – jfreak53