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は日数が表示されます。
3.DateInterval::format
public DateInterval::format(string $format): string
間隔をフォーマットします。

使用例

<!DOCTYPE html>
<html>
<body>

<?php
$dateA = new DateTime('2022-01-01 11:00:00');
$dateB = new DateTime('2022-01-03 15:30:10');

$dateC = $dateA->diff($dateB);
echo "<pre>";
print "時間の差分:";
echo $dateC->days * 24 + $dateC->h; 
echo "</pre>";

echo "<pre>";
print "分の差分:";
echo $dateC->days * 24 * 60 + $dateC->h * 60 + $dateC->i;
echo "</pre>";

echo "<pre>";
print "秒の差分:";
echo $dateC->days * 24 * 60 * 60 + $dateC->h * 60 * 60
  + $dateC->i * 60 + $dateC->s;
echo "</pre>";
?> 

</body>
</html>

実行結果
時間の差分:52
分の差分:3150
秒の差分:189010

PHP

Posted by arkgame