如何计算php中两次时间的差异并显示出来
how to count the difference between the two time in php and show it
我需要在 PHP 中显示两次之间的差异 我使用 strtotime()
函数将我的时间转换为整数,但我的问题是结果与我的预期不符
<?php
$hour1 = '12:00:00';
$hour2 = '9:00:00';
$avg = strtotime($hour1) - strtotime($hour2);
$result = date('h:i:s', $avg); // result = 06:30:00 what I expected is 3:00:00
但不同的是3:00:00这个怎么算?
你可以做到:
$hour1 = '12:00:00';
$hour2 = date('h', strtotime('9:00:00'));
$avg= date('h:i:s', strtotime($hour1. ' - '.$hour2.' hours') );
echo $avg; //3:00:00
您可以创建 DateTime
instances and use diff
函数来计算两次之间的差异。然后您可以将它们格式化为小时、分钟和秒。
<?php
$hour1 = '12:00:00';
$hour2 = '09:00:00';
$o1 = new DateTime($hour1);
$o2 = new DateTime($hour2);
$diff = $o1->diff($o2,true); // to make the difference to be always positive.
echo $diff->format('%H:%I:%S');
我需要在 PHP 中显示两次之间的差异 我使用 strtotime()
函数将我的时间转换为整数,但我的问题是结果与我的预期不符
<?php
$hour1 = '12:00:00';
$hour2 = '9:00:00';
$avg = strtotime($hour1) - strtotime($hour2);
$result = date('h:i:s', $avg); // result = 06:30:00 what I expected is 3:00:00
但不同的是3:00:00这个怎么算?
你可以做到:
$hour1 = '12:00:00';
$hour2 = date('h', strtotime('9:00:00'));
$avg= date('h:i:s', strtotime($hour1. ' - '.$hour2.' hours') );
echo $avg; //3:00:00
您可以创建 DateTime
instances and use diff
函数来计算两次之间的差异。然后您可以将它们格式化为小时、分钟和秒。
<?php
$hour1 = '12:00:00';
$hour2 = '09:00:00';
$o1 = new DateTime($hour1);
$o2 = new DateTime($hour2);
$diff = $o1->diff($o2,true); // to make the difference to be always positive.
echo $diff->format('%H:%I:%S');