日期差不能正确输出

时间:2018-12-05 05:17:32

标签: php

我有以下代码来查找天,小时和分钟中两个日期之间的差异:

    $date1=date_create("2019-01-01");
    $date2=date_create("2019-02-01");
    $diff=date_diff($date1,$date2);
    echo $diff->format("%d day, %h hour, %i minute");
    exit;

但是当我运行这段代码时,我得到了这个意外的输出:

0 day, 0 hour, 0 minute

有人知道我做错了什么吗?

1 个答案:

答案 0 :(得分:1)

%d格式规范将打印月份中各天之间的天数差,在您的情况下为0。如果要打印月份差(使用%m),则会看到它是1。如果需要总天数,则需要使用%a代替,即

echo $diff->format("%a day, %h hour, %i minute");

Demo on 3v4l.org