如何在 PHP 中获取负值的日期差异

How to get the date difference in minus value in PHP

如果 start_Date 大于 end_date,我正在尝试获取负值的日期差异。下面是我的代码

    $diff =  strtotime('2019-07-31') - strtotime('2019-07-21');
    $date_diff = round($diff / 86400);

代码给了我 10 作为答案,但我想要 -10。我该如何获取?

在这里。只需在四舍五入前加上一个负号。

$diff =  strtotime('2019-07-31') - strtotime('2019-07-21');
$date_diff =  - round($diff / 86400); // here is the change you need

echo $date_diff;

输出:

-10 

所有你需要使用%r格式。如果差异为负,则此格式打印减号 (-),否则不打印任何内容。

<?php

function dateDifference($date_1 , $date_2 , $differenceFormat = '%r%a' ) {
    $datetime1 = date_create($date_1);
    $datetime2 = date_create($date_2);

    $interval = date_diff($datetime1, $datetime2);

    return $interval->format($differenceFormat);

}

echo dateDifference('2019-07-31', '2019-07-21'); // -10