Why can't I ask for end date on a period based on recurrences?
I understand I never specified such a property, but it's a really easy calculation... shouldn't it be built in?
(PHP 5 >= 5.6.5, PHP 7, PHP 8)
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.
Returns a cloned DateTime object representing the end date otherwise.
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
Why can't I ask for end date on a period based on recurrences?
I understand I never specified such a property, but it's a really easy calculation... shouldn't it be built in?