【发布时间】:2015-06-30 16:15:50
【问题描述】:
我必须比较减法的结果是否在不到 2 小时内更大。我不知道如何进行这种比较。我尝试了以下。对于第三个 if 是正确的,但对于第一个和第二个结果是不正确的。
这是我的看法:
<?php
$transport= new DateTime($row->transportDate);
$max=new DateTime(max($forecast_array));
$interval = $transport->diff($max);
if($max->format('Y-m-d H:i:s') < $transport->format('Y-m-d H:i:s') && $interval->format('%h:%i:%s') >= '2:00:00' ) {
echo '<img src="<?= base_url();?>/assets/images/tick.png">';
}
if($max->format('Y-m-d H:i:s') < $transport->format('Y-m-d H:i:s') && $interval->format('%h:%i:%s') < '2:00:00' ) {
echo '<img src="<?= base_url();?>/assets/images/warning.png">';
}
if($max->format('Y-m-d H:i:s') > $transport->format('Y-m-d H:i:s')) {
echo '<img src="<?= base_url();?>/assets/images/forbidden.png">';
} ?>
<?php
$transport = strtotime($row->transportDate);
$max = strtotime(max($forecast_array));
$interval = abs($max - $transport);
if($max < $transport && $interval >= 2 * 60 * 60 ) {
echo '<img src="<?= base_url();?>/assets/images/tick.png">';
}
【问题讨论】:
-
我改变了你的标题,因为它以前读起来很奇怪。如果我正确理解了这个问题,我认为我没有改变意思。
-
是的,我是这个意思。有办法吗?
-
对不起,我不懂 PHP :/
-
Np,只是另一个提示。据我可以说,您发布的许多代码与问题没有直接关系(减去和比较时间)。尽量减少你发布的代码量,只包含相关部分;除非你觉得额外的上下文是必要的。扔掉太多代码会阻碍人们回答。
-
这行得通,但也许您可以使用 OOP 编写它? Imho DateTime 是正确的方法。