Example #1
0
 /**
  * @dataProvider dateIntervalStrings
  * @param string $intervalSpec
  * @param array $parts
  */
 public function testFromDateInterval($intervalSpec, array $parts)
 {
     $interval = DateInterval::fromDateInterval(new \DateInterval($intervalSpec));
     self::assertInstanceOf(DateInterval::class, $interval);
     self::assertEquals($parts[0], $interval->y);
     self::assertEquals($parts[1], $interval->m);
     self::assertEquals($parts[2], $interval->d);
     self::assertEquals($parts[3], $interval->h);
     self::assertEquals($parts[4], $interval->i);
     self::assertEquals($parts[5], $interval->s);
     // Test for extreme case when diff between winter and summer time returns interval with negative hour
     $phpDate1 = new \DateTimeImmutable('2016-11-22 11:00:00');
     $phpDate2 = new \DateTimeImmutable('2016-08-22 12:00:00');
     $phpInterval = $phpDate1->diff($phpDate2);
     $interval = DateInterval::fromDateInterval($phpInterval);
     self::assertEquals('P3MT-1H', (string) $interval);
 }
Example #2
0
 /**
  * @param \DateTimeInterface $dateTime
  * @param bool $absolute
  * @return DateInterval
  */
 public function diff($dateTime, $absolute = false)
 {
     return DateInterval::fromDateInterval(parent::diff($dateTime, $absolute));
 }