(PHP 5 >= 5.6.5, PHP 7)
DatePeriod::getEndDate — Gets the end date
Object oriented style
Gets the end date of the period.
This function has no parameters.
   Returns NULL if the DatePeriod does
   not have an end date. For example, when initialized with the
   recurrences parameter, or the
   isostr parameter without an
   end date.
  
   Returns a DateTimeImmutable object
   when the DatePeriod is initialized with a
   DateTimeImmutable object
   as the end parameter.
  
Example #1 DatePeriod::getEndDate() example
<?php
$period = new DatePeriod(
    new DateTime('2016-05-16T00:00:00Z'),
    new DateInterval('P1D'),
    new DateTime('2016-05-20T00:00:00Z')
);
$start = $period->getEndDate();
echo $start->format(DateTime::ISO8601);
?>
The above examples will output:
2016-05-20T00:00:00+0000
Example #2 DatePeriod::getEndDate() without an end date
<?php
$period = new DatePeriod(
    new DateTime('2016-05-16T00:00:00Z'),
    new DateInterval('P1D'),
    7
);
var_dump($period->getEndDate());
?>
The above example will output:
NULL