我想保持H:i:s格式,所以10:52:20但是当我尝试时:
$timeleft = strtotime($time1)-strtotime($time2);
我得到的东西像4521
我希望结果保留格式。有没有办法做到这一点?
答案 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));