DateTimeクラスのdiffメソッド
DateTimeクラスのメソッドdiffは、パラメータとして別のDateTimeオブジェクトを受け取り、日付間の差を含むDateIntervalオブジェクトを返します。差はさまざまな単位(日、月、年など)で取得できます。
構文
$interval = $datetime1->diff($datetime2);
例
二つの日付間の差を計算します:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days');
?>
コード実行結果:
'+45 days'
例
月と日での差を取得します:
<?php
$date1 = new DateTime('2023-03-10');
$date2 = new DateTime('2023-05-25');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
コード実行結果:
'2 months 15 days'
例
時間を考慮した日付の比較:
<?php
$date1 = new DateTime('2023-01-01 10:00:00');
$date2 = new DateTime('2023-01-01 14:30:00');
$interval = $date1->diff($date2);
echo $interval->format('%h hours %i minutes');
?>
コード実行結果:
'4 hours 30 minutes'
関連項目
-
日付と時刻をフォーマットする関数
date -
文字列をタイムスタンプに変換する関数
strtotime -
日付の間隔を表すクラス
DateInterval