如何使用DateTime显示+/-差异


How to show the +/- difference using DateTime

我正在使用DateTime来比较时间戳$下面的firstDate比$secondDate多6秒,所以我希望$interval回显-00:06。如果是相反的话,那么我想要+0:06。没有任何更改应仅显示00:00。DateTime是否有显示+/-更改的方法?

$firstdate = '00:00:06';
$seconddate = '00:00:12';
$one = new DateTime($firstdate);
$two = new DateTime($seconddate);
$interval = $two->diff($one);
if ($firstdate > $seconddate){
echo "-".$interval->format('%I:%S');
}
elseif($firstdate > $seconddate){
echo "+".$interval->format('%I:%S');
}
else{
echo $interval->format('%I:%S');
}

在本例中,当前代码显示00:06,而不是+0:06,但如果$firstdate和$seconddate颠倒,则会按预期回声-00:06

只需使用if else:

if ($firstdate > $seconddate){
echo "-".$interval->format('%I:%S');
}
elseif($firstdate < $seconddate){
echo "+".$interval->format('%I:%S');
}
else{
echo $interval->format('%I:%S');
}