【PHP8.x】intervalプロパティの使い方

intervalプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

DatePeriodクラスのintervalプロパティは、DatePeriodオブジェクトが反復処理を行う際に使用するDateIntervalオブジェクトを保持するプロパティです。DatePeriodは、開始日時、終了日時、そしてこのintervalプロパティで指定された間隔に基づいて、一連の日時を生成します。

このプロパティは読み取り専用であり、DatePeriodオブジェクトの構築時に指定されたDateIntervalオブジェクトを後から変更することはできません。DateIntervalオブジェクトは、日時間の差を表すオブジェクトであり、年、月、日、時、分、秒などの単位で間隔を指定できます。

例えば、毎週月曜日の日付を1年間生成するDatePeriodオブジェクトを作成する場合、開始日時をその年の最初の月曜日に設定し、終了日時を年末に設定し、intervalプロパティに「1週間」を表すDateIntervalオブジェクトを設定します。DatePeriodオブジェクトが反復処理されるたびに、intervalプロパティに保持されたDateIntervalオブジェクトが開始日時に加算され、次の日時が生成されます。

intervalプロパティは、DatePeriodオブジェクトの動作を決定する重要な要素であり、DatePeriodオブジェクトを使用する際には、適切なDateIntervalオブジェクトを設定する必要があります。このプロパティに設定されたDateIntervalオブジェクトに基づいて、DatePeriodオブジェクトが生成する日時系列が決定されるため、期待通りの日時系列を生成するためには、DateIntervalオブジェクトを正確に指定することが重要です。DatePeriodオブジェクトを利用して、特定の期間における定期的なイベントやスケジュールを扱う場合に、このintervalプロパティが効果的に活用できます。

構文(syntax)

1<?php
2$start = new DateTime('2024-01-01');
3$end = new DateTime('2024-01-10');
4$interval = new DateInterval('P1D');
5$period = new DatePeriod($start, $interval, $end);
6
7echo $period->interval->format('%d days');
8?>

引数(parameters)

戻り値(return)

DateInterval

DatePeriod オブジェクトが表す期間の間隔を表す DateInterval オブジェクトを返します。