「PHP」DateTime::diff() で時間の差分を計算するサンプル

説明
format 文字
h 時間、数値
i 分、数値
a DateTime::diff() の結果に使った場合は総日数
PHPコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
// DateTimeクラスのインスタンスA
$dateA = new DateTime('2020-10-01 10:09:00');
// DateTimeクラスのインスタンスB
$dateB= new DateTime('2020-10-07 15:10:03');
$daysRes = $dateB->diff($dateA);
// %a は総日数を出力します
echo $daysRes->format('%a total days')."<br>\n";
// 時間(hour)の差分計算
echo $daysRes->days*24 + $daysRes->h." total hours <br>\n";
// 時間(minute)の差分計算
echo $daysRes->days*24*60 + $daysRes->h*60 +$daysRes->i;
?>
<?php // DateTimeクラスのインスタンスA $dateA = new DateTime('2020-10-01 10:09:00'); // DateTimeクラスのインスタンスB $dateB= new DateTime('2020-10-07 15:10:03'); $daysRes = $dateB->diff($dateA); // %a は総日数を出力します echo $daysRes->format('%a total days')."<br>\n"; // 時間(hour)の差分計算 echo $daysRes->days*24 + $daysRes->h." total hours <br>\n"; // 時間(minute)の差分計算 echo $daysRes->days*24*60 + $daysRes->h*60 +$daysRes->i; ?>
<?php

// DateTimeクラスのインスタンスA
$dateA = new DateTime('2020-10-01 10:09:00');
// DateTimeクラスのインスタンスB
$dateB= new DateTime('2020-10-07 15:10:03');
$daysRes = $dateB->diff($dateA);

// %a は総日数を出力します
echo $daysRes->format('%a total days')."<br>\n";

// 時間(hour)の差分計算
echo $daysRes->days*24 + $daysRes->h." total hours <br>\n"; 

// 時間(minute)の差分計算
echo $daysRes->days*24*60 + $daysRes->h*60 +$daysRes->i; 

?>

結果
6 total days
149 total hours
8941

PHP

Posted by arkgame