简单date_diff关显
Simple date_diff off significantly
我正在尝试使用 date_diff 来比较两个日期,但它甚至没有接近正确的数字。为了排除故障,我正在做一个简单的硬编码测试:
$date1 = date_create("2014-03-20");
$date2 = date_create("2017-11-13");
$diff = date_diff($date1,$date2);
echo $diff->format('%r%d');
这对我来说输出“24”——所以它甚至不在大概范围内。知道这里出了什么问题吗?
您正在使用 dates in PHP, but yet you are having a date interval, that has different format codes 的格式代码。
echo $diff->format('%y-%m-%d');
这将显示正确的值。
$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
)
通过回显 $diff->d
你会得到天差。如果你想要总天数。使用 $diff->days
。随便玩玩吧。
如果您要查找总天数,您应该使用 a
格式字符。在 php date interval format.
查看更多信息
$diff->format('%a');
输出:
1334
我正在尝试使用 date_diff 来比较两个日期,但它甚至没有接近正确的数字。为了排除故障,我正在做一个简单的硬编码测试:
$date1 = date_create("2014-03-20");
$date2 = date_create("2017-11-13");
$diff = date_diff($date1,$date2);
echo $diff->format('%r%d');
这对我来说输出“24”——所以它甚至不在大概范围内。知道这里出了什么问题吗?
您正在使用 dates in PHP, but yet you are having a date interval, that has different format codes 的格式代码。
echo $diff->format('%y-%m-%d');
这将显示正确的值。
$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
)
通过回显 $diff->d
你会得到天差。如果你想要总天数。使用 $diff->days
。随便玩玩吧。
如果您要查找总天数,您应该使用 a
格式字符。在 php date interval format.
$diff->format('%a');
输出:
1334