如何在 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
如果 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