PHP DateTimeクラスのdiffメソッドで日数の差分を計算するサンプル
環境
PHP 8.1.2
Ubuntu 22.04.1 LTS
構文
public DateTime::diff ( DateTimeInterface $targetObject [, bool $absolute = FALSE ] ) : DateInterval
1.DateTimeクラスのインスタンスを生成します
$変数名 = new DateTime('日付’);
2.diffメソッドで日数の差分を計算します
$日付の変数1->diff($日付の変数2);
%Rは、正の値の場合はプラス(+)で負の値の場合はマイナス(-)がつきます。
%aは日数が表示されます。
使用例
<!DOCTYPE html> <html> <body> <?php $dateA = new DateTime('2022-07-11'); $dateB = new DateTime('2022-08-07'); $dateC = $dateA->diff($dateB); echo "<pre>"; print $dateC->format('%R%a'); // プラス(+)で負の値の場合はマイナス(-) echo "</pre>"; echo "<pre>"; print $dateC->format('%a'); // 日数が表示され echo "</pre>"; $dateD = $dateB->diff($dateA); echo "<pre>"; print $dateD->format('%R%a'); //プラス(+)で負の値の場合はマイナス(-) echo "</pre>"; echo "<pre>"; print $dateD->format('%a'); // 日数が表示され echo "</pre>"; ?> </body> </html>
実行結果
+27 27 -27 27