DatePeriodクラス

クラスDatePeriodは、開始点と終了点の間で特定の間隔を持つ日付のシーケンスを作成します。 パラメータとして:DateTimeオブジェクトとしての開始日、DateIntervalオブジェクトとしての間隔、反復回数または終了日を受け取ります。 指定された範囲内のすべての日付を反復処理することを可能にします。

構文

phpnew DatePeriod(DateTime $start, DateInterval $interval, int $recurrences);
phpnew DatePeriod(DateTime $start, DateInterval $interval, DateTime $end);

例

1日間隔で5日間の期間を作成しましょう:

php<?php
  $start = new DateTime('2025-01-01');
  $interval = new DateInterval('P1D');
  $period = new DatePeriod($start, $interval, 4);
  
  foreach ($period as $date) {
    echo $date->format('Y-m-d') . '<br>';
  }
?>

コード実行結果:

php'2025-01-01'
'2025-01-02'
'2025-01-03'
'2025-01-04'
'2025-01-05'

例

2つの日付の間で1週間間隔の期間を作成しましょう:

php<?php
  $start = new DateTime('2025-01-01');
  $end = new DateTime('2025-02-01');
  $interval = new DateInterval('P1W');
  $period = new DatePeriod($start, $interval, $end);

  foreach ($period as $date) {
    echo $date->format('Y-m-d') . '<br>';
  }
?>

コード実行結果:

php'2025-01-01'
'2025-01-08'
'2025-01-15'
'2025-01-22'
'2025-01-29'

関連項目

  • クラスDateTime、
    日付と時刻を扱うために
  • クラスDateInterval、
    日付の間隔を扱うために