public function testIntervalSpecIgnoresBadDays() { $expected = '2 years or (unknown) days'; $input = '%y years or %a days'; $tint = new TimeInterval('P2Y-730'); $actual = $tint->format($input); $this->assertSame($expected, $actual); }
/** * @param TimePoint $start * @param TimeInterval $interval * @param TimePoint $end * @param int $options */ public function __construct(TimePoint $start, TimeInterval $interval, TimePoint $end, $options = 0) { $startDt = $this->timePointToDateTime($start); $intervalDi = new DateInterval($interval->intervalSpec()); $endDt = $this->timePointToDateTime($end); $this->datePeriod = new DatePeriod($startDt, $intervalDi, $endDt, $options); $this->iterator = new IteratorIterator($this->datePeriod); }
/** * @param TimeInterval $interval * * @return TimePoint */ public function sub(TimeInterval $interval) { $date = clone $this->date; $int = new DateInterval($interval->intervalSpec()); $date->sub($int); return $this->dateTimeToTimePoint($date); }