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

 

PHP

Posted by arkgame