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 — 終了日を取得する
この関数にはパラメータはありません。
DatePeriod が終了日を持たない場合は null
を返します。
たとえば、recurrences
パラメータや、終了日のない isostr
パラメータを用いて初期化されている場合です。
DatePeriod が DateTimeImmutable
オブジェクトを end
に指定して初期化されている場合は DateTimeImmutable
オブジェクト を返します。
それ以外の場合は、 終了日を表す、コピーされた DateTime オブジェクトを返します。
例1 DatePeriod::getEndDate() の例
<?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);
?>
上の例の出力は以下となります。
2016-05-20T00:00:00+0000
例2 終了日のない DatePeriod::getEndDate()
<?php
$period = new DatePeriod(
new DateTime('2016-05-16T00:00:00Z'),
new DateInterval('P1D'),
7
);
var_dump($period->getEndDate());
?>
上の例の出力は以下となります。
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?