PHP两次之间的差异


PHP difference between two times

我想找出两次之间的区别。我在数据库中只存储了时间。我没有保存日期。注意:时间为字符串格式。

案例1:

 Starting time : 06:18:09
 Ending time :  06:18:45

案例2:

Starting time : 06:03:35    
Ending time 06:18:04

案例3:【此案例不起作用】

Starting time : 23:44:56    
Ending time : 00:45:43

我正在使用此代码在几秒钟内找到。但对我不起作用。

$datetime1 = date_create($a);
  $datetime2 = date_create($b);
  $interval = date_diff($datetime1, $datetime2);
 $min=$interval->format('%s');

有什么帮助吗?

谢谢!

第一个冒号处的子字符串删除标签,然后使用剩余的时间戳进行解析和减法运算。

使用PHP的strtotime方法将字符串形式的时间转换为long,然后将两者相减,得出以秒为单位的差值。在这一点上,你会有一个数字,然后你可以用它做任何事情。

$datetime1 = substr($datetime1, strpos($datetime1, ":"));
$time1 = strtotime($datetime1);

然后,您可以使用date方法将时差转换为新的字符串进行输出。

参见:

  • http://php.net/manual/en/function.substr.php
  • http://php.net/manual/en/function.strtotime.php
  • http://php.net/manual/en/function.strpos.php
  • http://php.net/manual/en/function.date.php