Я пытаюсь проверить IF, чтобы увидеть, существует ли диапазон дат X между диапазоном дат Y. Но он никогда не возвращает правильную истину/лжи в правильное время:Диапазон дат в диапазоне дат
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;
}
Это работает, но если я изменю startdate
к 06/09/2013
и enddate
к 06/17/2013
он больше не работает в то время как он должен работать.
Должен даже работать, если startdate
был 06/07/2013
и enddate
был 06/15/2013
, но нет. Есть предположения?
Вы пытаетесь определить, перекрываются ли диапазоны дат, или если они полностью содержатся внутри другого? – voithos
Для диапазона дат, который должен быть подмножеством другого диапазона дат, начало внутреннего диапазона должно быть после начала внешнего диапазона, а конец внутреннего диапазона должен быть до конца внешнего диапазона. Вы хотите проверить, что один диапазон содержит другой в целом, или вы хотите определить, перекрываются ли они? – zzzzBov
Оба и один действительно. Как будто enddate находится в пределах диапазона, который должен быть включен, поскольку некоторые дни будут перекрываться. Если startdate находится в пределах диапазона, но enddate выходит, это все равно должно быть правдой, поскольку через несколько дней все еще будет в пределах диапазона. Так и на самом деле. – jfreak53