代码之家  ›  专栏  ›  技术社区  ›  Ahmed Numaan

日期差异输出不正确

php
  •  0
  • Ahmed Numaan  · 技术社区  · 7 年前

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

        $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 回复  |  直到 7 年前
        1
  •  1
  •   Nick SamSmith1986    7 年前

    这个 %d 格式规范打印月份日期之间的天数差,在您的情况下为0。如果要打印月份差异(使用 %m )你会看到它是1。如果您需要总天数,则需要使用 %a 相反,即

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

    Demo on 3v4l.org

    推荐文章