Php 如果经过的时间超过24小时,则
编辑:这个问题解决了,我在评论中使用了Marc B的答案 我计算了经过的时间,如果超过24小时,我想用红色字体回显它。如果它是24:00:00,它就工作了,但是如果它变成25:00:00,它就不再以红色显示了 我怎样才能解决这个问题 这就是我所做的: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
strotime()
,以确保它们具有相同的值
格式$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>';