関数の概要
PHPの date_add 関数は、DateTime オブジェクトに指定した期間(日時差分)を加算するための関数です。これを使うことで、簡単に日付や時間を進めることができ、日付計算が必要な場面で非常に便利です。
パラメータの説明
datetime:加算したい対象のDateTimeオブジェクト。interval:加算する時間差を表すDateIntervalオブジェクト。
例えば、「P1D」は1日、「PT2H」は2時間を意味します。
戻り値
DateTime オブジェクトを返します。引数として渡した DateTime オブジェクト自体が変更されるため、戻り値は同じオブジェクトです。
使用例
基本的な使い方
<?php
$date = new DateTime('2024-06-01');
$interval = new DateInterval('P5D'); // 5日を表す
date_add($date, $interval);
echo $date->format('Y-m-d');
?>
2024年6月1日に5日間を加算し、2024-06-06が出力されます。
時間単位での加算
<?php
$date = new DateTime('2024-06-01 10:00:00');
$interval = new DateInterval('PT3H'); // 3時間を表す
date_add($date, $interval);
echo $date->format('Y-m-d H:i:s');
?>
10時から3時間加算して13時となり、「2024-06-01 13:00:00」と表示されます。
複数の単位をまとめて加算
<?php
$date = new DateTime('2024-06-01 10:00:00');
$interval = new DateInterval('P2DT4H30M'); // 2日4時間30分
date_add($date, $interval);
echo $date->format('Y-m-d H:i:s');
?>
2日4時間30分を加算し、「2024-06-03 14:30:00」となります。
関連する関数
date_sub:DateTimeに時間を減算するDateInterval:時間差分を表現するクラスDateTime::add:DateTimeオブジェクトのメソッドとして時間加算を行う
まとめ
date_add はPHPで日付や時刻を簡単に加算できる便利な関数です。DateTime と DateInterval を組み合わせて使うことで、日付計算やスケジュール管理など実務でも役立ちます。加算したい期間はISO 8601形式の時間表記で指定するため、覚えておくと操作がスムーズです。ぜひ活用してください。
