0

Hello,

I want to check whether one given date range is falling under another range or not.
Is there function for this?
Because when I am calculating this using To and FROM dates , it is taking efficient.
I have to apply separate condition for TO date and FROM date.

Is there any function am unaware of?

I want trying like:

if(($comapare_FROM_Date > $existing_FROM_date && $comapare_FROM_Date < $existing_TO_date) ||
($comapare_TO_Date > $existing_TO_date && $comapare_TO_Date < $existing_TO_date))
echo " is bigger"; // either FROm date falls in between or TO date falls then echo

abviously , above is not satisfying for each conditions.

2
Contributors
7
Replies
31
Views
2 Years
Discussion Span
Last Post by DaveAmour
0

What do you mean by "falling under another range"?

I guess you could mean does one date range overlap another or does it exist completley within another date range.

Which of these is it that you need?

Edited by DaveAmour: typo

0

for example...
I have one range as
a]
from: 09-11-1999
to: 12-01-2001

b] from: 23-01-2001
to: 27-11-2004

so if entered new set as
FROM: 19-01-2001
TO: 25-10-2003
it should not allow me to enter.

I have previous such record as [a] and [b] and I will enter new record which should not OVERLAP any of the present date range

0

Do you want to check only if one range overlaps another or whether it is completely within as well - ie any of them or just overlap?

0

Ok so given date range 1 and date range 2

This is pseudo code:

If ((Range1.FromDate > Range2.FromDate And Range1.FromDate < Range2.ToDate) And (Range1.ToDate > Range2.FromDate And Range1.ToDate < Range2.ToDate)) Then
    /* Range 1 falls completley within Range2 */
End If

Edited by DaveAmour: Typo

0

Hello,
Thanks for solution.
I had applied it too.
It got failed for below case:
EXISTING RECORD:
From Date 2006-05-17
To Date 2007-12-19

I ADDED :
From Date 2007-12-17
To Date 2008-01-26

It is not like next adding record will be only greater that existing one.
it can be past that existing.

For exaple(whichever I came in my mind now) ,
suppose I am adding employment record for employee.
I can add any duration record.
just have to take care that one employemnt record should not came in another

Fighting with now !!! :)
Thanks a lot for your help

0

Ok so if you want to check whether they overlap OR fall within completley then just use:

If ((Range1.FromDate > Range2.FromDate And Range1.FromDate < Range2.ToDate) Or (Range1.ToDate > Range2.FromDate And Range1.ToDate < Range2.ToDate)) Then
    /* Range 1 falls completley within Range2 or overlaps */
End If

So I just changed the And to an Or

Edited by DaveAmour: Typo

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.