首页 > 解决方案 > 日期差未正确输出

问题描述

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

    $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

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

标签: php

解决方案


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

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

3v4l.org 上的演示


推荐阅读