Interval.intersection

Interval intersection(scope const Interval interval) const

Returns the intersection of two intervals

Parameters

intervalThe interval to intersect with this interval.

Throws

DateTimeException if the two intervals do

not intersect or if either interval is empty.

Example: -------------------- assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection( Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))) == Interval!Date(Date(1996, 1 , 2), Date(2000, 8, 2)));

assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection( Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))) == Interval!Date(Date(1999, 1 , 12), Date(2011, 9, 17))); --------------------

Interval intersection(scope const PosInfInterval!TP interval) const

Returns the intersection of two intervals

Parameters

intervalThe interval to intersect with this interval.

Throws

DateTimeException if the two intervals do

not intersect or if this interval is empty.

Example: -------------------- assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection( PosInfInterval!Date(Date(1990, 7, 6))) == Interval!Date(Date(1996, 1 , 2), Date(2012, 3, 1)));

assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection( PosInfInterval!Date(Date(1999, 1, 12))) == Interval!Date(Date(1999, 1 , 12), Date(2012, 3, 1))); --------------------

Interval intersection(scope const NegInfInterval!TP interval) const

Returns the intersection of two intervals

Parameters

intervalThe interval to intersect with this interval.

Throws

DateTimeException if the two intervals do

not intersect or if this interval is empty.

Example: -------------------- assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection( NegInfInterval!Date(Date(1999, 7, 6))) == Interval!Date(Date(1996, 1 , 2), Date(1999, 7, 6)));

assert(Interval!Date(Date(1996, 1, 2), Date(2012, 3, 1)).intersection( NegInfInterval!Date(Date(2013, 1, 12))) == Interval!Date(Date(1996, 1 , 2), Date(2012, 3, 1))); --------------------