2个日期之间的差异不为零

时间:2015-10-05 11:50:43

标签: php

我有2个日期,设置为datetime1datetime2。我需要显示它们之间的区别,这是问题所在: 截至目前,我通过以下方式寻找差异:

$interval = $datetime2 - $datetime1;
$data[] = floor($interval/(60*60*24)) . " days";

这显示了我的区别,但如果两个日期相同,则显示(逻辑上)0 days

如果我需要在与1 day相同的日期而不是0 days的情况下展示差异,如何显示差异。我需要显示,用户需要1天才能完成编程课程,并且它没有显示0。

3 个答案:

答案 0 :(得分:3)

只需使用max()

$data[] = max(1, floor($interval/(60*60*24))) . " day(s)";

这样,无论价值多少,您都会显示至少1天。

答案 1 :(得分:0)

将分配移动到变量中并使用变量来控制添加到 $ data 的值将起作用。

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

答案 2 :(得分:-1)

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

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