简单的date_diff显着关闭

Mat*_*att 0 php datediff

我正在尝试使用date_diff比较两个日期,但它甚至没有接近正确的数字.要进行故障排除,我正在做一个简单的硬编码测试:

$date1              = date_create("2014-03-20");
$date2              = date_create("2017-11-13");
$diff               = date_diff($date1,$date2);     
echo               $diff->format('%r%d');
Run Code Online (Sandbox Code Playgroud)

这对我来说输出"24" - 所以它甚至不在球场.任何想法在这里出了什么问题?

Jor*_*oon 8

$ diff结果包含一个DateInterval对象.它包含以下内容:

DateInterval Object
(
    [y] => 3
    [m] => 7
    [d] => 24
    [h] => 0
    [i] => 0
    [s] => 0
    [f] => 0
    [weekday] => 0
    [weekday_behavior] => 0
    [first_last_day_of] => 0
    [invert] => 0
    [days] => 1334
    [special_type] => 0
    [special_amount] => 0
    [have_weekday_relative] => 0
    [have_special_relative] => 0
)
Run Code Online (Sandbox Code Playgroud)

通过回声$diff->d你会得到一天的差异.如果您想拥有总天数.使用$diff->days.只是玩弄它.