/** * @dataProvider validProvider */ public function testValid($year, $month, $day, $hour, $minute, $second, $iso8601format) { $object = Duration::create($year, $month, $day, $hour, $minute, $second); static::assertEquals($year, $object->year()); static::assertEquals($month, $object->month()); static::assertEquals($day, $object->day()); static::assertEquals($hour, $object->hour()); static::assertEquals($minute, $object->minute()); static::assertEquals($second, $object->second()); static::assertInstanceOf(DateInterval::class, $object->toDateInterval()); static::assertEquals($iso8601format, $object->toIso8601Format()); Duration::createFromDateInterval($object->toDateInterval()); Duration::createFromString($object->toIso8601Format()); }
/** * @return Duration */ public function duration() { return Duration::createFromDateInterval($this->start()->toDateTime()->diff($this->end()->toDateTime())); }