Php 两个日期之间的差异不为零

Php 两个日期之间的差异不为零,php,Php,我有两个日期,分别为datetime1和datetime2。我需要说明它们之间的区别,问题是: 到目前为止,我通过以下方式寻找差异: $interval = $datetime2 - $datetime1; $data[] = floor($interval/(60*60*24)) . " days"; 这显示了差异,但如果两个日期相同,则逻辑上显示为0天 如果我需要在与1天(而不是0天)相同的日期显示差异,如何显示差异。我需要显示,用户花了1天时间完成编程课程,显示0没有意义。只需使用: 这

我有两个日期,分别为datetime1和datetime2。我需要说明它们之间的区别,问题是: 到目前为止,我通过以下方式寻找差异:

$interval = $datetime2 - $datetime1;
$data[] = floor($interval/(60*60*24)) . " days";
这显示了差异,但如果两个日期相同,则逻辑上显示为0天

如果我需要在与1天(而不是0天)相同的日期显示差异,如何显示差异。我需要显示,用户花了1天时间完成编程课程,显示0没有意义。

只需使用:


这样,无论值是多少,都将至少显示1天。

只需使用上述代码创建一个函数,并将差异结果存储在变量中,如果差异为零,则设置值1,否则设置差异值

 function myfunc()
{
$interval = $datetime2 - $datetime1;
$data = floor($interval/(60*60*24)) . " days";
if($data > 0) 
then return $data;
else
return 1;
}

将赋值移动到一个变量中,并使用该变量控制添加到$data的值,这样做是可行的

$interval = floor(($datetime2 - $datetime1)/86400);
$data[] = ($interval > 0) ? $interval.' days' : '1 day';

如果间隔一天呢。那么它应该显示什么呢?我不想这么说,但是这个代码不起作用$datetime1和$datetime2需要是参数或用全局关键字标识。这将产生一个运行时错误。@user2182349这只是一个使逻辑清晰的伪代码。它对我来说非常好,谢谢X.L.Ant
$interval = floor(($datetime2 - $datetime1)/86400);
$data[] = ($interval > 0) ? $interval.' days' : '1 day';