php - 如何在PHP中获取负值的日期差异
问题描述
如果 start_Date 大于 end_date,我试图获得负值的日期差。下面是我的代码
$diff = strtotime('2019-07-31') - strtotime('2019-07-21');
$date_diff = round($diff / 86400);
代码给了我10
答案,但我想要-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
推荐阅读
- java - 如何对两个不同的光标列表进行排序?
- firebase - Google Cloud Functions,您如何指定 Firebase 项目
- excel - INDEX MATCH on a cell that has data separated by a comma
- javascript - 如何解决生成的问题从带有网格的滚动魔术?
- r - 从字符串中提取数值并按照原始顺序拆分它们
- android - afterTextChange 总是接收相同的 Editable 实例
- android - 将 Kotlin 运行时库添加到 android 中的 aar
- xamarin.forms - 当用户停止以 xamarin 表单编写时如何在编辑器中滚动到顶部
- ios - Swift 5.0 编译器无法导入使用 Swift 5.1 编译的模块
- android - MVP kotlin 中的 Mockito 测试 - 但是,这个模拟异常只有 1 次交互