date_diff提供了错误的差异?

时间:2016-05-22 11:05:22

标签: php date datediff

我正在使用date_diff来获取两天之间的日子:

 //DATE
 $current_date = date_create(date("m.d.y"));
 $move_date = date_create($move['moving_day']);

/* Difference between Moving and Current Date */
$difference1 = date_diff($current_date, $move_date);
$date_difference = $difference1->format('%a');

日期是2016-05-30,目前是2016-05-22,但它显示我7,但它应该给我8。

print_r给我那个

DateTime Object
(
    [date] => 2016-05-22 05:22:16.000000
    [timezone_type] => 3
    [timezone] => UTC
)

DateTime Object
(
    [date] => 2016-05-30 00:00:00.000000
    [timezone_type] => 3
    [timezone] => UTC
)

我做错了什么?

2 个答案:

答案 0 :(得分:1)

如果您不想依赖时间,请以这种方式将时间转移到00:00:00:

$current_date = date_create(date("m.d.y"))->modify('midnight');
$move_date = date_create($move['moving_day'])->modify('midnight');

答案 1 :(得分:0)

结果是正确的,如果您将当前时间更改为2016-05-30 06:00:00将返回8天