(PHP 5 >= 5.6.5, PHP 7)
DatePeriod::getEndDate — Obtener la fecha final
Estilo orientado a objetos
Obtiene la fecha final del periodo.
Esta función no tiene parámetros.
   Devuelve NULL si el objeto DatePeriod
   no posee una fecha final. Por ejemplo, cuando se inicializó con el
   parámetro recurrences, o el
   parámetro isostr sin una
   fecha final.
  
   Devuelve un objeto DateTimeImmutable
   cuando el objeto DatePeriod se inicializó con un
   objeto DateTimeImmutable
   para el parámetro end.
  
De lo contrario, devuelve un objeto DateTime.
Ejemplo #1 Ejemplo de DatePeriod::getEndDate()
<?php
$periodo = new DatePeriod(
    new DateTime('2016-05-16T00:00:00Z'),
    new DateInterval('P1D'),
    new DateTime('2016-05-20T00:00:00Z')
);
$inicio = $periodo->getEndDate();
echo $inicio->format(DateTime::ISO8601);
?>
El resultado de los ejemplos sería:
2016-05-20T00:00:00+0000
Ejemplo #2 DatePeriod::getEndDate() sin una fecha final
<?php
$periodo = new DatePeriod(
    new DateTime('2016-05-16T00:00:00Z'),
    new DateInterval('P1D'),
    7
);
var_dump($periodo->getEndDate());
?>
El resultado del ejemplo sería:
NULL