Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果经过的时间超过24小时,则_Php_Datetime_If Statement_Time_Strtotime - Fatal编程技术网

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

Php 如果经过的时间超过24小时,则,php,datetime,if-statement,time,strtotime,Php,Datetime,If Statement,Time,Strtotime,编辑:这个问题解决了,我在评论中使用了Marc B的答案 我计算了经过的时间,如果超过24小时,我想用红色字体回显它。如果它是24:00:00,它就工作了,但是如果它变成25:00:00,它就不再以红色显示了 我怎样才能解决这个问题 这就是我所做的: 我从状态表中获取时间戳,这是时间戳 格式 然后我从数据库中获取当前时间 我对这两个值执行strotime(),以确保它们具有相同的值 格式 我从当前时间中减去状态时间,得到经过的时间 然后我检查经过的时间是否大于24小时 代码: $timestam

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

我计算了经过的时间,如果超过24小时,我想用红色字体回显它。如果它是24:00:00,它就工作了,但是如果它变成25:00:00,它就不再以红色显示了

我怎样才能解决这个问题

这就是我所做的:

  • 我从状态表中获取时间戳,这是时间戳 格式
  • 然后我从数据库中获取当前时间
  • 我对这两个值执行
    strotime()
    ,以确保它们具有相同的值 格式
  • 我从当前时间中减去状态时间,得到经过的时间
  • 然后我检查经过的时间是否大于24小时
  • 代码:

    $timestamp=$status_行['Time'];
    $sql_time_difference=“选择TIMEDIFF(NOW(),“$timestamp”)作为TIMEDIFF”;
    //echo$sql\u时间差;
    $time\u select=mysqli\u查询($conn$sql\u时间差);
    $time\u row=mysqli\u fetch\u assoc($time\u select);
    $time_difference=$time_行['TimeDiff'];
    //回显$time_差异。“
    ”; $time1=STROTIME(时差); $time2=strottime('24:00:00'); 如果($time_difference>=$time2){ 回声“.$时差”; }否则{ 回声$时间差; }
    你说代码是25:00:00,但颜色不是红色

    所以试试这个:

    echo '<b style="color: #f00;">'.$time_difference.'</b>';
    
    echo'.$time_-difference'.';
    
    为什么要使用mysql来实现这一点?通过mysql往返一个时间值只是为了计算日期,这绝对是零。您可以在php中轻松实现这一点,例如
    if(strotime($timestamp)+60*60*24@MarcB因为我不确定php中的时间是如何工作的,这让我很困惑。但是谢谢你的回答,我要试试这个。我在php中学到的第一件事是,一天是86400秒,所以“TIMESTAMPDIFF”是指你从web服务器得到的时间和从数据库得到的时间总是一样的吗?这不是问题所在这是关于。OP和您的代码都给出了相同的结果。
    已弃用,但仍然有效。我知道,我对两者都进行了测试。弃用并不意味着“已删除”。
    echo '<b style="color: #f00;">'.$time_difference.'</b>';