File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -153,6 +153,16 @@ public function isAfterOrEqualTo(self $other): bool
153153 return $ this ->__toString () >= $ other ->__toString ();
154154 }
155155
156+ public function isBetween (self $ other1 , self $ other2 ): bool
157+ {
158+ return $ other1 ->__toString () < $ this ->__toString () && $ this ->__toString () < $ other2 ->__toString ();
159+ }
160+
161+ public function isBetweenOrEqualTo (self $ other1 , self $ other2 ): bool
162+ {
163+ return $ other1 ->__toString () <= $ this ->__toString () && $ this ->__toString () <= $ other2 ->__toString ();
164+ }
165+
156166 /**
157167 * Returns date formatted according to the default date format (Y-m-d)
158168 */
Original file line number Diff line number Diff line change @@ -201,5 +201,17 @@ public function testComparison(): void
201201 self ::assertTrue ($ dateAfter ->isAfterOrEqualTo ($ dateBefore ));
202202 self ::assertTrue ($ dateAfter ->isAfterOrEqualTo ($ dateAfter ));
203203 self ::assertFalse ($ dateBefore ->isAfterOrEqualTo ($ dateAfter ));
204+
205+ self ::assertTrue ((new AbsoluteDate ('2023-06-01 ' ))->isBetween ($ dateBefore , $ dateAfter ));
206+ self ::assertFalse ((new AbsoluteDate ('2020-01-01 ' ))->isBetween ($ dateBefore , $ dateAfter ));
207+ self ::assertFalse ((new AbsoluteDate ('2025-01-01 ' ))->isBetween ($ dateBefore , $ dateAfter ));
208+ self ::assertFalse ($ dateBefore ->isBetween ($ dateBefore , $ dateAfter ));
209+ self ::assertFalse ($ dateAfter ->isBetween ($ dateBefore , $ dateAfter ));
210+
211+ self ::assertTrue ((new AbsoluteDate ('2023-06-01 ' ))->isBetweenOrEqualTo ($ dateBefore , $ dateAfter ));
212+ self ::assertFalse ((new AbsoluteDate ('2020-01-01 ' ))->isBetweenOrEqualTo ($ dateBefore , $ dateAfter ));
213+ self ::assertFalse ((new AbsoluteDate ('2025-01-01 ' ))->isBetweenOrEqualTo ($ dateBefore , $ dateAfter ));
214+ self ::assertTrue ($ dateBefore ->isBetweenOrEqualTo ($ dateBefore , $ dateAfter ));
215+ self ::assertTrue ($ dateAfter ->isBetweenOrEqualTo ($ dateBefore , $ dateAfter ));
204216 }
205217}
You can’t perform that action at this time.
0 commit comments