/** * {@inheritdoc} */ public function getEndDate() : DateTime { return new DateTime($this->period->getEndDate()); }
<?php $period = new DatePeriod(new DateTime("2015-01-01"), new DateInterval("PT6H"), new DateTime("2015-01-02")); $period->getStartDate()->modify("+7 days"); // Make sure we got clone right $period->getEndDate()->modify("+7 days"); echo 'Starting Date = ', $period->getStartDate()->format('Y-m-d'), PHP_EOL; echo 'Ending Date = ', $period->getEndDate()->format('Y-m-d'), PHP_EOL; echo 'Interval = ', $period->getDateInterval()->format('%H hours'), PHP_EOL;
<?php $start = new DateTime('2000-01-01 00:00:00', new DateTimeZone('Europe/Berlin')); $end = new DateTime('2000-01-31 00:00:00', new DateTimeZone('UTC')); $interval = new DateInterval('P1D'); $period = new DatePeriod($start, $interval, $end); var_dump($period->getStartDate()->format('Y-m-d H:i:s')); var_dump($period->getStartDate()->getTimeZone()->getName()); var_dump($period->getEndDate()->format('Y-m-d H:i:s')); var_dump($period->getEndDate()->getTimeZone()->getName()); var_dump($period->getDateInterval()->format('%R%y-%m-%d-%h-%i-%s'));