public function testHowToKnowIfADateIntervalIsBeforeAfterDuringOtherDateInterval() { $interval = new DateInterval(new Date(2013, 6, 1), new Date(2013, 6, 15)); $before = new DateInterval(new Date(2013, 5, 20), new Date(2013, 5, 30)); $after = new DateInterval(new Date(2013, 6, 16), new Date(2013, 6, 20)); $during = new DateInterval(new Date(2013, 5, 1), new Date(2013, 6, 30)); $partiallyDuring = new DateInterval(new Date(2013, 1, 1), new Date(2013, 6, 10)); $this->assertTrue($interval->isBefore($after)); $this->assertTrue($interval->isAfter($before)); $this->assertTrue($interval->isDuring($during)); $this->assertFalse($interval->isDuring($partiallyDuring)); }
public function testNextEquals() { $startDate = new Date(2012, 01, 01); $endDate = new Date(2012, 01, 03); $interval = new DateInterval($startDate, $endDate); $this->assertEquals($startDate, $interval->getBegin()); $this->assertEquals(new Date(2012, 01, 02), $interval->getBegin()->next()); $this->assertEquals(new Date(2012, 01, 03), $interval->getBegin()->next()->next()); $this->assertFalse($endDate->isEquals($interval->getBegin())); $this->assertFalse($endDate->isEquals($interval->getBegin()->next())); $this->assertTrue($endDate->isEquals($interval->getBegin()->next()->next())); }
public static function fromDateInterval(DateInterval $dateInterval) { $begin = $dateInterval->getBegin(); $end = $dateInterval->getEnd(); return new TimeInterval(new TimePoint($begin->getYear(), $begin->getMonth(), $begin->getDay(), 0, 0), new TimePoint($end->getYear(), $end->getMonth(), $end->getDay(), 23, 59, 59)); }