首页 > 解决方案 > 如何在PHP中获取负值的日期差异

问题描述

如果 start_Date 大于 end_date,我试图获得负值的日期差。下面是我的代码

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

代码给了我10答案,但我想要-10。我应该如何得到它?

标签: phpdatedifference

解决方案


所有你需要使用%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

推荐阅读