【PHP8.x】getEndDateメソッドの使い方

getEndDateメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getEndDateメソッドは、PHPのDatePeriodクラスが表す日付と時刻の期間における、設定された終了日時を取得するメソッドです。

DatePeriodクラスは、特定の開始日時から終了日時までの期間を、一定の間隔(例えば毎日や毎週)で繰り返す日付の集合を生成するために使用されます。このgetEndDateメソッドは、そのDatePeriodオブジェクトが定義する期間の「終わり」として設定されたDateTimeInterfaceオブジェクトを返します。

戻り値はDateTimeInterface型のオブジェクトであり、このオブジェクトには年、月、日、時、分、秒といった具体的な日時情報が含まれています。したがって、このメソッドを呼び出すことで、定義された日付期間の終了日時を正確に知ることができます。

例えば、ある期間が「2023年1月1日から2023年1月31日まで」と設定されている場合、getEndDateメソッドを呼び出すと、「2023年1月31日」を表すDateTimeInterfaceオブジェクトが返されます。

注意点として、DatePeriodオブジェクトの生成時に期間を逆順に設定した場合(例えば、開始日が終了日よりも後の日付である場合)でも、getEndDateメソッドは、構築時に指定された「終了日時」をそのまま返します。これは期間の最後の要素の日付と必ずしも一致するわけではないため、期間の論理的な終端と設定上の終了日時との違いを理解しておくことが重要です。このメソッドは、DatePeriodオブジェクトの構成情報を確認するために役立ちます。

構文(syntax)

1<?php
2
3$start = new DateTime('2023-01-01');
4$interval = new DateInterval('P1D');
5$end = new DateTime('2023-01-05');
6
7$period = new DatePeriod($start, $interval, $end);
8
9$endDate = $period->getEndDate();
10
11echo $endDate->format('Y-m-d H:i:s');
12
13?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

?DateTimeInterface

DatePeriodオブジェクトで設定された期間の終了日時をDateTimeInterfaceインターフェースのインスタンスとして返します。期間が設定されていない場合は、NULLを返します。

【PHP8.x】getEndDateメソッドの使い方 | いっしー@Webエンジニア