Я знаю, это глупый вопрос, но мне нужно проверить, не перекрываются ли два периода времени (в epoch
) друг с другом.Я просто не знаю, будет ли этих проверок достаточно.
TLPeriod.prototype.isOverlapping = function(period) {
if( period.toPoints().start.getEpoch() < this.toPoints().start.getEpoch()
&&
this.toPoints().start.getEpoch() < period.toPoints().end.getEpoch())
return true;
if(this.toPoints().end.getEpoch() > period.toPoints().start.getEpoch())
return true;
return false;
};
Я знаю, я должен написать здесь , но для ответа потребуется много времени.
Его можно быстро суммировать следующим образом:
Две линии на на одной оси с точками:
| (this.start), (this.end) |
&
| (period.start), (period.end) |
Как проверить, если ониперекрытия?
OVERLAP!
|-----------|-----------------|-------------|
this.start period.start this.end period.end
NO OVERLAP!
|-----------| |-------------|
this.start this.end period.start period.end
OVERLAP!
|-----------------|--------|-------------|
period.start this.start this.end period.end