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