如果经过的时间超过24小时则

时间:2015-06-01 17:14:08

标签: php datetime if-statement time strtotime

编辑:这个问题已经解决,我在评论中使用了Marc B的答案。

我计算了经过的时间,如果超过24小时,我想用红色字体回显它。如果它的24:00:00有效,但如果它转到25:00:00它再也不会用红色回显它。

我该如何解决这个问题?

这就是我所做的:

  1. 我从状态表中获取时间戳,这是时间戳 格式。
  2. 然后我从数据库中获取当前时间。
  3. 我对两个值都strtotime(),以确保它们具有相同的值 格式。
  4. 我从当前时间减去状态时间,所以我得到了经过的时间。
  5. 然后我检查经过的时间是否超过24小时。
  6. 代码:

    $timestamp = $status_row['Time'];
    
    $sql_time_difference    = "SELECT TIMEDIFF(NOW(), '$timestamp') as TimeDiff";
    //echo $sql_time_difference;
    $time_select            = mysqli_query($conn, $sql_time_difference);
    $time_row               = mysqli_fetch_assoc($time_select);    
    $time_difference        = $time_row['TimeDiff'];
    
    //echo $time_difference.'<br>';
    
    $time1  = strtotime($time_difference);
    $time2  = strtotime('24:00:00'); 
    
    if ($time_difference >= $time2){
        echo '<b><font color="red">'.$time_difference.'</font></b>';    
    } else {
        echo $time_difference; 
    }
    

1 个答案:

答案 0 :(得分:0)

  

你说代码转25:00:00但颜色不是红色

所以试试这个:

echo '<b style="color: #f00;">'.$time_difference.'</b>';