/** * Add a duration to this one. * * For instance, PT1S + PT1S = PT2S. * * @param Duration|DateInterval $duration A Duration or DateInterval object. */ public function add($duration) { $d1 = $this->refDate; $d2 = clone $d1; if ($duration instanceof Duration) { $toAdd = $duration; } else { $toAdd = new Duration('PT0S'); $toAdd->setInterval($duration); } $d2->add(new DateInterval($this->__toString())); $d2->add(new DateInterval($toAdd->__toString())); $interval = $d2->diff($d1); $this->interval = $interval; }
/** * Create a Duration object from a DateInterval object. * * @param \DateInterval $interval * @return \qtism\common\datatypes\Duration */ public static function createFromDateInterval(DateInterval $interval) { $duration = new Duration('PT0S'); $duration->setInterval($interval); return $duration; }