温馨提示:本文翻译自stackoverflow.com,查看原文请点击:date - Get a PHP DateTime difference in days, considering midnight as a day change

date - 考虑到午夜是一天的变化,以天为单位获取PHP DateTime的差异

发布于 2020-03-31 23:05:19

DateTimes将午夜视为日间变化(就像DATEDIFF(DAY)SQL函数一样),最简单的方法来获得两个PHP之间的天数差异是什么?

例如,从今天的13:00到明天的12:00,即使间隔少于24小时,我也应该得到1(天)。

$date1 = new DateTime("2013-08-07 13:00:00");
$date2 = new DateTime("2013-08-08 12:00:00");
echo $date1->diff($date2)->days; // 0

查看更多

提问者
marcv
被浏览
55
13.3k 2019-05-23 20:49

您可以忽略日期字符串的时间部分

$date1 = new DateTime(date('Y-m-d', strtotime("2013-08-07 13:00:00")));
$date2 = new DateTime(date('Y-m-d', strtotime("2013-08-08 12:00:00")));
echo $date1->diff($date2)->days; // 1