PHP缩短格式时间

时间:2017-05-24 15:38:09

标签: php

我想保持H:i:s格式,所以10:52:20但是当我尝试时:

$timeleft = strtotime($time1)-strtotime($time2);

我得到的东西像4521

我希望结果保留格式。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:0)

是的,你得到的是unix时间戳,以秒为单位。您可以使用date函数获取如下所需的格式:

   $timestr_formated = date("H:i:s", $timeleft);
   print($timestr_formated);

答案 1 :(得分:0)

您可以使用DateTime::diff

$time1 = new DateTime('2017-05-01 12:00:00');
$time2 = new DateTime('2017-05-01 11:25:30');
$timeleft = $time1->diff($time2);

echo $timeleft->format('%H:%i:%s');  // output: 00:34:30

如果您想要超过24小时。

$time1 = new DateTime('2017-05-02 12:00:00');
$time2 = new DateTime('2017-04-02 11:25:30');
$timeleft = $time1->diff($time2);

echo str_pad($timeleft->format('%a') * 24 + $timeleft->format('%h'), 2, "0") . 
     $timeleft->format(':%i:%s'); // output: 720:34:30

答案 2 :(得分:-1)

您可以按以下格式使用日期功能:

$timeleft = date('H:i:s', strtotime($time1)-strtotime($time2));