Php HH:MM:SS格式的时差
我想得到HH:MM:SS格式的时差,下面是代码 如果时间差以秒为单位,则应显示l 大约00:00:35 分钟内:00:30:35 小时:01:30:35Php HH:MM:SS格式的时差,php,Php,我想得到HH:MM:SS格式的时差,下面是代码 如果时间差以秒为单位,则应显示l 大约00:00:35 分钟内:00:30:35 小时:01:30:35 $start_date = new DateTime($var1[TIME]); $end_date = new DateTime($var2[TIME]); $interval = $start_date->diff($end_date); $hours = $interval->format('%h'); $minutes
$start_date = new DateTime($var1[TIME]);
$end_date = new DateTime($var2[TIME]);
$interval = $start_date->diff($end_date);
$hours = $interval->format('%h');
$minutes = $interval->format('%i');
$seconds = $interval->format('%s');
echo $diff = $hours * 60 + $minutes + $seconds;
使用
和concat三对一变量
或者对单个输出使用$interval->format(“%H:%I:%S”)
//output 00:30:35
您可以使用strotime()进行时间计算。以下是一个例子:
$time1 = strtotime('10:55:59');<br>
$time2 = strtotime('10:56:00');<br>
$diff = $time2 - $time1;<br>
echo 'Time 1: '.date('H:i:s', $time1).'\n';<br>
echo 'Time 2: '.date('H:i:s', $time2).'\n';
if($diff){<br>
echo 'Diff: '.date('H:i:s', $diff);<br>
}else{<br>
echo 'No Diff.';<br>
}<br>
$time1=strotime('10:55:59')
$time2=标准时间('10:56:00')
$diff=$time2-$time1
回显“时间1:”.date('H:i:s',$time1)。“\n”
回显“时间2:”.date('H:i:s',$time2)。“\n”;
如果($diff){
回显'Diff:'。日期('H:i:s',$Diff);
}否则{
回显“无差异”。
}
输出:
Time 1: 09:00:59<br>
Time 2: 09:01:00<br>
Diff: 00:00:01
时间1:09:00:59
时间2:09:01:00
差异:00:00:01
阅读php date()函数,了解DateTime::format的工作原理。嘿,维诺德,谢谢你的回答,我有个问题,我有$time1=“00:00:00”和$time2=“00:00:07”,按照你的方式,我得到了“01:00:07”而不是“00:00:07”,你知道为什么吗?
Time 1: 09:00:59<br>
Time 2: 09:01:00<br>
Diff: 00:00:01