考虑到午夜是一天的变化,最简单的方法来得到两个PHP DateTimes之间的天差是什么(就像DATEDIFF(DAY) SQL函数所做的那样)?

例如,从今天的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

最佳答案

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

$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

10-07 14:28
查看更多