public function testDateRangeExclusiveIteration() { $expected = array(date_create('2014-09-01T03:00:00+00:00'), date_create('2014-09-01T03:15:00+00:00'), date_create('2014-09-01T03:30:00+00:00'), date_create('2014-09-01T03:45:00+00:00'), date_create('2014-09-01T04:00:00+00:00')); $end = date_create('2014-09-01T04:15:00+00:00'); $range = new DateRangeExclusive($expected[0], $end, new DateInterval('PT15M')); foreach ($range->iterable() as $value) { $this->assertEquals(array_shift($expected), $value); } $this->assertEquals(0, count($expected)); }
/** * @param \DateTime $start * @param \DateTime $end * @param \DateInterval $step */ public function __construct(DateTime $start, DateTime $end = null, DateInterval $step = null) { parent::__construct($start, $end, $step); $this->end->add($this->step); }